제출 #565978

#제출 시각아이디문제언어결과실행 시간메모리
565978FairyWinxDNA 돌연변이 (IOI21_dna)C++17
0 / 100
32 ms2892 KiB
#include "dna.h" #include <vector> #include <array> #include <algorithm> #include <map> #define all(a) a.begin(), a.end() using namespace std; vector<int> a, b; void init(std::string _a, std::string _b) { a.resize(_a.size()); b.resize(_b.size()); for (int i = 0; i < (int) _a.size(); ++i) { if (_a[i] == 'A') { a[i] = 0; } else if (_a[i] == 'T') { a[i] = 1; } else { a[i] = 2; } if (_b[i] == 'A') { b[i] = 0; } else if (_b[i] == 'T') { b[i] = 1; } else { b[i] = 2; } } } int get_distance(int x, int y) { array<int, 3> c1, c2; int sum = 0; fill(all(c1), 0); fill(all(c2), 0); map<pair<int, int>, int> tmp; for (int i = x; i <= y; ++i) { if (a[i] != b[i]) { int a1 = a[i], a2 = b[i]; sum += 2; if (tmp[{a2, a1}]) { --tmp[{a2, a1}]; --sum; } else { ++tmp[{a1, a2}]; } } } return sum; }
#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...