제출 #1214259

#제출 시각아이디문제언어결과실행 시간메모리
1214259trimkusDNA 돌연변이 (IOI21_dna)C++20
0 / 100
27 ms2368 KiB
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;


map<char, int> mp;
string a, b;
void init(std::string _a, std::string _b) {
	a = _a;
	b = _b;
	mp['A'] = 0;
	mp['T'] = 1;
	mp['C'] = 2;
}

int get_distance(int x, int y) {
	vector<vector<int>> d1(3), d2(3);
	for (int i = x; i <= y; ++i) {
		d1[mp[a[i]]].push_back(i);
		d2[mp[b[i]]].push_back(i);
	}
	int res = 0;
	for (int i = 0; i < 3; ++i) {
		auto& v1 = d1[i];
		auto& v2 = d2[i];
		if (v1.size() != v2.size()) return -1;
		for (int j = 0; j < (int)v1.size(); ++j) {
			res += abs(v1[j] - v2[j]);
		}
	}
	assert(res % 2 == 0);
	return res / 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...