Submission #518372

#TimeUsernameProblemLanguageResultExecution timeMemory
518372drkarlicio2107Cards (LMIO19_korteles)C++14
100 / 100
192 ms10760 KiB
#include <bits/stdc++.h> using namespace std; int x [30][30]; int y [30][30]; int z [30][30]; int q [30][30]; int xy [30][30][30]; int yz [30][30][30]; int zq [30][30][30]; int qx [30][30][30]; int xz [30][30][30][30]; int yq [30][30][30][30]; int xyzq [30][30][30][30]; int main(){ int n; cin >> n; long long int ans=0; for (int i=0; i<n; i++){ char a1,b1,c1,d1; cin >> a1 >> b1 >> c1 >> d1; int a=a1-'A', b=b1-'A', c=d1-'A', d=c1-'A'; ans+=x[a][b]+y[b][c]+z[c][d]+q[d][a]; ans-=(xz [a][b][c][d]+yq[a][b][c][d]); //cout << ans << " " << zq[a][c][d] << endl; if (a==c){ ans-=(xy[a][b][c]+zq[a][d][c]); xy[d][a][d]++; zq[b][a][b]++; } //cout << ans << endl; if (b==d){ ans-=(yz[b][c][d]+qx[d][a][b]); yz[a][b][a]++; qx[c][b][c]++; } //cout << ans << endl; if (a==c && b==d){ ans+=xyzq [a][b][c][d]*3; } x[d][c]++; y [a][d]++; z [b][a]++; q [c][b]++; xz [d][c][b][a]++; yq [b][a][d][c]++; xyzq [d][c][b][a]++; //cout << ans << endl; } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...