Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef pair<int, int> ii;
- const int MOD = 1e9+7;
- const int MAX = 1e2 + 10;
- inline ll mul(ll a, ll b) {
- return (1ll * a * b) % MOD;
- }
- inline ll add(ll a, ll b) {
- return (a + b) % MOD;
- }
- int main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- #ifdef LOCAL
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #else
- #define endl '\n'
- #endif // LOCAL
- int n, m, k; cin >> n >> m >> k;
- ll f0 = 0;
- vector<ll> rcnt(n+1, 1);
- vector<ll> ccnt(m+1, 1);
- for(int i = 0; i < k; i++) {
- char op; ll x, y; cin >> op >> x >> y;
- if(op == 'R') {
- rcnt[x] = mul(rcnt[x], y);
- } else {
- ccnt[x] = mul(ccnt[x], y);
- }
- }
- ll sumki = 0;
- ll viki = 0;
- for(int i = 1; i <= n; i++) {
- sumki = add(sumki, rcnt[i]);
- ll v = add( mul(m, i-1), 1);
- viki = add( viki, mul(v, rcnt[i]) );
- }
- ll ans = 0;
- for(int i = 1; i <= m; i++) {
- ll in = add( mul(i-1, sumki), viki);
- ans = add(ans, mul(ccnt[i], in));
- }
- cout << ans << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement