This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 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];
//cout << ans << " " << zq[a][c][d] << endl;
if (a==c){
ans-=(xy[a][b][c]+zq[a][d][c]);
}
//cout << ans << endl;
if (b==d){
ans-=(yz[b][c][d]+qx[d][a][b]);
}
//cout << ans << endl;
if (a==c && b==d){
ans+=xyzq [a][b][c][d];
}
x[d][c]++; y [a][d]++; z [b][a]++; q [c][b]++;
xy[d][a][d]++; zq[b][a][b]++;
yz[a][b][a]++; qx[c][b][c]++;
xyzq [c][b][d][a]++;
//cout << ans << endl;
}
cout << ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |