Submission #591326

#TimeUsernameProblemLanguageResultExecution timeMemory
591326OmnitronXCards (LMIO19_korteles)C++14
100 / 100
64 ms3448 KiB
#include <iostream> #include <algorithm> using namespace std; using num = long long; num gora[26][26]; num dol[26][26]; num lewo[26][26]; num prawo[26][26]; bool tab[26][26][26][26]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); num n; num r = 0; cin >> n; for (num i = 0; i < n; ++i) { string s1; string s2; cin >> s1 >> s2; num a = s1[0] - 65; num b = s1[1] - 65; num c = s2[0] - 65; num d = s2[1] - 65; ++gora [a][b]; ++dol [c][d]; ++prawo[b][d]; ++lewo [a][c]; tab[a][b] [c][d] = true; if (tab[c][d] [a][b]) { ++r; } if (tab[b][a] [d][c]) { ++r; } if (a == d) { for (num j = 0; j < 26; ++j) { if (tab[b][j] [a][b]) { ++r; } } for (num j = 0; j < 26; ++j) { if (tab[c][a] [j][c]) { ++r; } } } if (b == c) { for (num j = 0; j < 26; ++j) { if (tab[b][d] [d][j]) { ++r; } } for (num j = 0; j < 26; ++j) { if (tab[j][a] [a][b]) { ++r; } } } if (a == d && b == c) { if (tab[b][a] [a][b]) { r -= 3; } } if (a == d && b == c && a == b) { --r; } //cout << r << '\n'; } num suma = 0; for (num i = 0; i < 26; ++i) { for (num j = 0; j < 26; ++j) { suma += gora[i][j] * dol[i][j]; //if(gora[i][j] * dol[i][j] > 0) //cout << i << ' ' << j << ' ' << gora[i][j] << ' ' << dol[i][j] << '\n'; } } for (num i = 0; i < 26; ++i) { for (num j = 0; j < 26; ++j) { suma += prawo[i][j] * lewo[i][j]; //if(prawo[i][j] * lewo[i][j] > 0) //cout << i << ' ' << j << ' ' << prawo[i][j] << ' ' << lewo[i][j] << '\n'; } } cout << suma - r; 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...