#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |