Submission #1142048

#TimeUsernameProblemLanguageResultExecution timeMemory
1142048rayankMutating DNA (IOI21_dna)C++20
0 / 100
1595 ms2992 KiB
#include "dna.h" #include <bits/stdc++.h> using namespace std; string A; string B; void init(string a, string b) { A = a; B = b; } int find_pos(int k, vector<int> nums){ for(int i = 0; i < nums.size(); i++){ if(nums[i] == k){ return i; } } return -1; } vector<int> string_to_int(string s){ map<char, int> nums; vector<int> res; nums['A'] = 0; nums['C'] = 1; nums['T'] = -1; for(int i = 0; i < s.size(); i++){ res.push_back(nums[s[i]]); } return res; } int get_distance(int x, int y) { vector<int> a = string_to_int(A.substr(x,y)); vector<int> b = string_to_int(B.substr(x,y)); if(accumulate(a.begin(), a.end(), 0) != accumulate(b.begin(), b.end(), 0)){ return -1; } int res = 0; int i = 0; while(a!=b){ if(i >= a.size()){ i = 0; } if(a[i] == b[i]){ i++; continue; } swap(a[i], a[find_pos(a[i], b)]); res++; i++; } return res; }
#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...