#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int cnt4[26][26][26][26];
int cnt2[4][26][26];
int cnt3[4][26][26][26];
int main() {
int N;
cin >> N;
ll res = 0;
for (int i = 0; i < N; ++i) {
string s, t;
cin >> s >> t;
vector<int> a(4);
for (int j = 0; j < 2; ++j) {
a[j] = (s[j] - 'A');
a[j + 2] = (t[j] - 'A');
}
// cout << "0: " << char(a[0] + 'A') << char(a[1] + 'A') << endl;
// cout << "1: " << char(a[0] + 'A') << char(a[2] + 'A') << endl;
// cout << "2: " << char(a[2] + 'A') << char(a[3] + 'A') << endl;
// cout << "3: " << char(a[3] + 'A') << char(a[1] + 'A') << endl;
// cout << "0: " << char(a[0] + 'A') << char(a[1] + 'A') << char(a[3] + 'A') << endl;
// cout << "1: " << char(a[2] + 'A') << char(a[3] + 'A') << char(a[1] + 'A') << endl;
// cout << "2: " << char(a[0] + 'A') << char(a[1] + 'A') << char(a[3] + 'A') << endl;
// cout << "3: " << char(a[3] + 'A') << char(a[1] + 'A') << endl;
res += cnt2[2][a[0]][a[1]];
res += cnt2[0][a[2]][a[3]];
res += cnt2[1][a[1]][a[3]];
res += cnt2[3][a[0]][a[2]];
res -= cnt4[a[2]][a[3]][a[0]][a[1]];
res -= cnt4[a[1]][a[0]][a[3]][a[2]];
// AX AB CD BA
// BA CD AB DC
// cout << res << endl;
// res += cnt4[a[0]][a[1]][a[2]][a[3]];
// cout << endl;
// cout << res << endl;
cnt2[0][a[0]][a[1]]++;
cnt2[1][a[0]][a[2]]++;
cnt2[2][a[2]][a[3]]++;
cnt2[3][a[1]][a[3]]++;
cnt4[a[0]][a[1]][a[2]][a[3]]++;
}
cout << res << endl;
}
# | 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... |