Submission #1142118

#TimeUsernameProblemLanguageResultExecution timeMemory
1142118rayankDNA 돌연변이 (IOI21_dna)C++20
0 / 100
1592 ms2500 KiB
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
//test case 1
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'] = 2;
	for(int i = 0; i < s.size(); i++){
		res.push_back(nums[s[i]]);
	}
	return res;
	
}

int get_distance(int x, int y) {
	string a = A.substr(x,y);
	string b = B.substr(x,y);
	string acopy = A.substr(x,y);
	string bcopy = B.substr(x,y);
	long long res = 0;
	long long Acounta = 0;
	long long Ccounta = 0;
	long long Tcounta = 0;
	long long Acountb = 0;
	long long Ccountb = 0;
	long long Tcountb = 0;
	for(int i = 0; i < a.size(); i++){
		if(a[i] != b[i]){
			res++;
		}
		if(a[i] == 'A') Acounta++;
		if(a[i] == 'T') Tcounta++;
		if(a[i] == 'C') Ccounta++;
		if(b[i] == 'A') Acountb++;
		if(b[i] == 'T') Tcountb++;
		if(b[i] == 'C') Ccountb++;
	}
	if(Acounta != Acountb || Ccounta != Ccountb || Tcounta != Tcountb){
		return -1;
	}

	return (res+1)/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...