# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
879195 | 2023-11-26T18:18:13 Z | StefanSebez | Plus Minus (BOI17_plusminus) | C++14 | 1000 ms | 4384 KB |
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define ll long long const int mod=1e9+7; map<int,int>mapa; ll Plus(ll a,ll b) { a%=mod,b%=mod; ll x=a+b;x%=mod;return x; } ll Puta(ll a,ll b) { a%=mod,b%=mod; ll x=a*b;x%=mod;return x; } int main() { int n,m,k;scanf("%i%i%i",&n,&m,&k); pair<pair<int,int>,int>a[k+10]; bool bul1=true,bul2=true; for(int i=1;i<=k;i++) { char c;cin>>c; int t=1;if(c=='+') t=2; scanf("%i%i",&a[i].fi.fi,&a[i].fi.se); if((a[i].fi.fi+a[i].fi.se+t-1)%2==0) bul1=false; else bul2=false; a[i].se=t; } ll res=0; sort(a+1,a+k+1); bool bul=true; int ct=n; for(int i=1;i<=k;i++) { int t=((a[i].fi.se-1)%2+a[i].se-1)%2+1; if((mapa[a[i].fi.fi]==1 && t==2) || (mapa[a[i].fi.fi]==2 && t==1)) bul=false; if(mapa[a[i].fi.fi]==0) ct--; mapa[a[i].fi.fi]=t; } ll e=1; for(int i=1;i<=ct;i++) e=Puta(e,2); if(bul) res=Plus(res,e); for(int i=1;i<=k;i++) { swap(a[i].fi.fi,a[i].fi.se); } mapa.clear(); sort(a+1,a+k+1); bul=true; ct=m; for(int i=1;i<=k;i++) { int t=((a[i].fi.se-1)%2+a[i].se-1)%2+1; if((mapa[a[i].fi.fi]==1 && t==2) || (mapa[a[i].fi.fi]==2 && t==1)) bul=false; if(mapa[a[i].fi.fi]==0) ct--; mapa[a[i].fi.fi]=t; } //printf("%i\n",ct); e=1; for(int i=1;i<=ct;i++) e=Puta(e,2); if(bul) res=Plus(res,e); if(bul1==true) res--; if(bul2==true) res--; if(res<0) res+=mod; printf("%lld\n",res); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 1 ms | 348 KB | Output is correct |
16 | Correct | 43 ms | 1628 KB | Output is correct |
17 | Correct | 49 ms | 1632 KB | Output is correct |
18 | Correct | 43 ms | 1616 KB | Output is correct |
19 | Correct | 43 ms | 1612 KB | Output is correct |
20 | Correct | 43 ms | 1592 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 0 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 1 ms | 348 KB | Output is correct |
12 | Correct | 0 ms | 348 KB | Output is correct |
13 | Correct | 0 ms | 348 KB | Output is correct |
14 | Correct | 1 ms | 348 KB | Output is correct |
15 | Correct | 1 ms | 348 KB | Output is correct |
16 | Correct | 43 ms | 1628 KB | Output is correct |
17 | Correct | 49 ms | 1632 KB | Output is correct |
18 | Correct | 43 ms | 1616 KB | Output is correct |
19 | Correct | 43 ms | 1612 KB | Output is correct |
20 | Correct | 43 ms | 1592 KB | Output is correct |
21 | Correct | 89 ms | 4384 KB | Output is correct |
22 | Execution timed out | 1066 ms | 348 KB | Time limit exceeded |
23 | Halted | 0 ms | 0 KB | - |