제출 #596779

#제출 시각아이디문제언어결과실행 시간메모리
596779serizeDNA 돌연변이 (IOI21_dna)C++17
0 / 100
1582 ms3972 KiB
#include "dna.h"
#include <bits/stdc++.h>
#include <cstdio>
#include <cassert>
#include <string>
#include <vector>
#define all(x) x.begin(),x.end()

using namespace std;
const int MAX = 1e5+2;

vector<int> dif(MAX);
string s1, s2;

void init(std::string a, std::string b) {
    int n = a.size();
    s1 = a, s2 = b;
    for(int i = 1; i <= n; i++){
       dif[i] = (a[i-1]!=b[i-1]);
       dif[i] += dif[i-1];
    }
}

int get_distance(int x, int y) {
	string cad1 = s1.substr(x,y), cad2 = s2.substr(x,y);
    sort(all(cad1));
    sort(all(cad2));
    if(cad1 != cad2) return -1;
    int d = dif[y+1]-dif[x];
    if(d&1) return ((d>>1)+1);
    else return (d>>1);
}
#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...