제출 #591274

#제출 시각아이디문제언어결과실행 시간메모리
591274OmnitronXCards (LMIO19_korteles)C++14
19 / 100
56 ms724 KiB
#include <iostream> 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; } } } else 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; } } if (a == d && b == c && a == b) { --r; } } num suma = 0; for (num i = 0; i < 26; ++i) { for (num j = 0; j < 26; ++j) { suma += gora[i][j] * dol[i][j]; } } for (num i = 0; i < 26; ++i) { for (num j = 0; j < 26; ++j) { suma += prawo[i][j] * lewo[i][j]; } } 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...