Submission #589889

#TimeUsernameProblemLanguageResultExecution timeMemory
589889ignusCards (LMIO19_korteles)C++14
100 / 100
184 ms4880 KiB
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int a[4][676]; int b[4][676]; int c[456976]; long long fin = 0; for(int i = 0; i < 676; i++){ for(int j = 0; j < 4; j++)a[j][i]=0; for(int j = 0; j < 4; j++)b[j][i]=0; } for(int i = 0; i < 456976; i++){ c[i]=0; } for(int i = 0; i < n; i++){ char t1, t2, t3, t4; cin >> t1 >> t2 >> t3 >> t4; t1-='A'; t2-='A'; t3-='A'; t4-='A'; long long r1=0, r4=0, r2c=0, r2o=0; if(t1==t4&&t2==t3){ r4+=c[26*(26*(26*(t3)+t4)+t1)+t2]; } if(t1==t4){ r2c+=b[1][26*(t2)+t1]-r4; r2c+=b[0][26*(t3)+t1]-r4; // cout << b[1][26*(t2)+t1] << ' ' << b[0][26*(t3)+t1] << ' '; } if(t2==t3){ r2c+=b[3][26*(t4)+t2]-r4; r2c+=b[2][26*(t1)+t2]-r4; // cout << b[3][26*(t4)+t2] << ' ' << b[2][26*(t1)+t2]; } r2o+=c[26*(26*(26*(t2)+t1)+t4)+t3]-r4; r2o+=c[26*(26*(26*(t3)+t4)+t1)+t2]-r4; r1=a[0][26*(t3)+t4]+a[1][26*(t1)+t2]+a[2][26*(t2)+t4]+a[3][26*(t1)+t3]-r4*4-r2c*2-r2o*2; fin+=r1+r2o+r2c+r4; //cout << '\n'; //cout << a[0][26*(t3)+t4] << ' '<< a[1][26*(t1)+t2] << ' ' << a[2][26*(t2)+t4] << ' ' << a[3][26*(t1)+t3] <<'\n'; //cout << i << ' ' << fin << ' ' << r1 << ' ' << r2o << ' ' << r2c << ' ' << r4 << '\n'; if(t1==t4){ b[0][26*(t1)+t2]++; b[1][26*(t1)+t3]++; } if(t2==t3){ b[3][26*(t2)+t1]++; b[2][26*(t2)+t4]++; } c[26*(26*(26*(t1)+t2)+t3)+t4]++; a[0][26*(t1)+t2]++; a[1][26*(t3)+t4]++; a[2][26*(t1)+t3]++; a[3][26*(t2)+t4]++; } cout << fin; return 0; }
#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...