Submission #1231318

#TimeUsernameProblemLanguageResultExecution timeMemory
1231318yixuan19Mutating DNA (IOI21_dna)C++20
21 / 100
29 ms3180 KiB
#include "dna.h" #include <vector> #include <iostream> #include <unordered_map> #define N 100001 using namespace std; vector <int> s1; vector <int> s2; unordered_map <char,int> convert; void init(std::string a, std::string b) { convert['A'] = 0; convert['C'] = 1; convert['T'] = 2; for (int i = 0; i < a.size(); ++i){ s1.push_back(convert[a[i]]); s2.push_back(convert[b[i]]); } } int get_distance(int x, int y) { vector<int> occ1(3,0); vector<int> occ2(3,0); vector<int>section1; vector<int>section2; for (int i = x; i <= y; ++i){ occ1[s1[i]]++; section1.push_back(s1[i]); } for (int i = x; i <= y; ++i){ occ2[s2[i]]++; section2.push_back(s2[i]); } if (occ1 != occ2){ return -1; } // for (int i: section1){ // cout<<i<<' '; // }cout<<endl; if (section1 == section2){ return 0; } swap(section1[0], section1[1]); if (section1 == section2){ return 1; } swap(section1[0], section1[1]); swap(section1[1], section1[2]); if (section1 == section2){ return 1; } swap(section1[1], section1[2]); swap(section1[0], section1[2]); if (section1 == section2){ return 1; } swap(section1[0], section1[2]); return 2; }
#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...