# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
856484 | 2023-10-03T16:27:01 Z | MilosMilutinovic | PIN (CEOI10_pin) | C++14 | 298 ms | 14796 KB |
#include <bits/stdc++.h> #define pb push_back #define fi first #define se second #define mp make_pair using namespace std; typedef long long ll; typedef pair<int,int> pii; int readint(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } int n,d; char s[50005][4]; int main(){ scanf("%d%d",&n,&d); d=4-d; for(int i=1;i<=n;i++) scanf("%s",s+i); map<string,int> cnt; long long ans=0; for(int i=1;i<=n;i++){ for(int mask=(1<<4)-1;mask>=0;mask--){ int pc=__builtin_popcount(mask); if(pc<d) continue; string str=""; for(int j=0;j<4;j++) if(mask>>j&1) str+=s[i][j]; else str+='*'; if (d==4){ ans+=cnt[str]; continue; } if (d==3){ if(pc==4) ans-=4*cnt[str]; if(pc==3) ans+=cnt[str]; continue; } if(d==2){ if(pc==3) ans-=3*cnt[str]; if(pc==2) ans+=cnt[str]; continue; } if(d==1){ if(pc==2) ans-=2*cnt[str]; if(pc==1) ans+=cnt[str]; continue; } if(d==0){ assert(false); } ans+=cnt[str]*(d%2==pc%2?1:-1); } for(int mask=0;mask<(1<<4);mask++){ string str=""; for(int j=0;j<4;j++) if(mask>>j&1) str+=s[i][j]; else str+='*'; cnt[str]+=1; } } printf("%lld\n",ans); return 0; } /* 4 1 0000 a010 0202 a0e2 4 2 0000 a010 0202 a0e2 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 1112 KB | Output is correct |
2 | Correct | 7 ms | 856 KB | Output is correct |
3 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
4 | Correct | 76 ms | 3428 KB | Output is correct |
5 | Correct | 95 ms | 3664 KB | Output is correct |
6 | Correct | 113 ms | 3652 KB | Output is correct |
7 | Correct | 90 ms | 3412 KB | Output is correct |
8 | Correct | 111 ms | 4104 KB | Output is correct |
9 | Correct | 173 ms | 5460 KB | Output is correct |
10 | Correct | 230 ms | 5720 KB | Output is correct |
11 | Correct | 127 ms | 3920 KB | Output is correct |
12 | Incorrect | 215 ms | 5456 KB | Output isn't correct |
13 | Incorrect | 132 ms | 4260 KB | Output isn't correct |
14 | Runtime error | 2 ms | 604 KB | Execution killed with signal 6 |
15 | Runtime error | 3 ms | 764 KB | Execution killed with signal 6 |
16 | Correct | 169 ms | 11240 KB | Output is correct |
17 | Correct | 298 ms | 14796 KB | Output is correct |
18 | Runtime error | 2 ms | 860 KB | Execution killed with signal 6 |
19 | Runtime error | 3 ms | 860 KB | Execution killed with signal 6 |
20 | Runtime error | 3 ms | 860 KB | Execution killed with signal 6 |