# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
129936 | 2019-07-13T14:48:56 Z | davitmarg | Plus Minus (BOI17_plusminus) | C++17 | 162 ms | 7900 KB |
/*DavitMarg*/ #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> #include <map> #include <set> #include <queue> #include <iomanip> #include <stack> #include <cassert> #include <iterator> #include <bitset> #include <fstream> #define mod 1000000007ll #define LL long long #define LD long double #define MP make_pair #define PB push_back #define all(v) v.begin(),v.end() using namespace std; LL binpow(LL a,LL n) { if(n==0) return 1; if(n%2==0) return binpow((a*a)%mod,n/2); return (a*binpow(a,n-1))%mod; } int n,m,k,y[100005],x[100005],cnt; char c[100005]; LL ans; void solve() { map<int,int> val; for(int i=1;i<=k;i++) { val[x[i]]|=((c[i]=='+')^((y[i]-1)%2))+1; if(val[x[i]]==3) return; } ans+=binpow(2,m-val.size()); ans%=mod; cnt++; } int main() { cin>>n>>m>>k; for(int i=1;i<=k;i++) scanf(" %c%d%d",c+i,y+i,x+i); solve(); swap(m,n); for(int i=1;i<=k;i++) swap(y[i],x[i]); solve(); if(cnt==2) ans-=1+(k==0); cout<<ans<<endl; return 0; } /* */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 376 KB | Output is correct |
6 | Correct | 2 ms | 380 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 2 ms | 376 KB | Output is correct |
9 | Correct | 2 ms | 376 KB | Output is correct |
10 | Correct | 2 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 376 KB | Output is correct |
6 | Correct | 2 ms | 380 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 2 ms | 376 KB | Output is correct |
9 | Correct | 2 ms | 376 KB | Output is correct |
10 | Correct | 2 ms | 376 KB | Output is correct |
11 | Correct | 3 ms | 376 KB | Output is correct |
12 | Correct | 2 ms | 256 KB | Output is correct |
13 | Correct | 2 ms | 252 KB | Output is correct |
14 | Correct | 2 ms | 380 KB | Output is correct |
15 | Correct | 2 ms | 376 KB | Output is correct |
16 | Correct | 26 ms | 2092 KB | Output is correct |
17 | Correct | 26 ms | 2168 KB | Output is correct |
18 | Correct | 26 ms | 2296 KB | Output is correct |
19 | Correct | 55 ms | 2296 KB | Output is correct |
20 | Correct | 55 ms | 2168 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 376 KB | Output is correct |
6 | Correct | 2 ms | 380 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 2 ms | 376 KB | Output is correct |
9 | Correct | 2 ms | 376 KB | Output is correct |
10 | Correct | 2 ms | 376 KB | Output is correct |
11 | Correct | 3 ms | 376 KB | Output is correct |
12 | Correct | 2 ms | 256 KB | Output is correct |
13 | Correct | 2 ms | 252 KB | Output is correct |
14 | Correct | 2 ms | 380 KB | Output is correct |
15 | Correct | 2 ms | 376 KB | Output is correct |
16 | Correct | 26 ms | 2092 KB | Output is correct |
17 | Correct | 26 ms | 2168 KB | Output is correct |
18 | Correct | 26 ms | 2296 KB | Output is correct |
19 | Correct | 55 ms | 2296 KB | Output is correct |
20 | Correct | 55 ms | 2168 KB | Output is correct |
21 | Correct | 126 ms | 5348 KB | Output is correct |
22 | Correct | 2 ms | 256 KB | Output is correct |
23 | Correct | 31 ms | 2524 KB | Output is correct |
24 | Correct | 31 ms | 2552 KB | Output is correct |
25 | Correct | 31 ms | 2552 KB | Output is correct |
26 | Correct | 81 ms | 5616 KB | Output is correct |
27 | Correct | 77 ms | 5240 KB | Output is correct |
28 | Correct | 102 ms | 5880 KB | Output is correct |
29 | Correct | 132 ms | 6876 KB | Output is correct |
30 | Correct | 162 ms | 7900 KB | Output is correct |