# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1142698 | techvio | DNA 돌연변이 (IOI21_dna) | C++20 | 0 ms | 0 KiB |
#include "dna.h"
#include <bits/stdc++.h>
using namespace std;
string sa;
string sb;
void init(std::string a, std::string b) {
sa = a;
sb = b;
}
int get_distance(int x, int y) {
string suba = sa.substr(x, y - x+1);
string subb = sb.substr(x, y - x+1);
int cca = 0, cta = 0, caa = 0, ccb = 0, ctb = 0, cab = 0, c = 0;
for (char c : suba) {
if (c == 'A') caa++;
else if (c == 'T') cta++;
else cca++;
}
for (char c : subb) {
if (c == 'A') cab++;
else if (c == 'T') ctb++;
else ccb++;
}
int c = 0;
if (ccb != cca || cab != caa || ctb != cta) return -1;
else {
for (int i = 0; i < suba.size(); i++) if (suba[i] != subb[i]) c++;
int ans = (c+1) / 2;
return ans;
}
return 0;
}