Submission #1189625

#TimeUsernameProblemLanguageResultExecution timeMemory
1189625yoruonivampMutating DNA (IOI21_dna)C++20
0 / 100
44 ms2372 KiB
#include <bits/stdc++.h>
using namespace std;

int dis[100005];
string A, B;

void init(string a, string b){
    A = a;
    B = b;
}

int get_distance(int x, int y){
    int c1[26]{},c2[26]{};
    for(int i = x; i <= y; i++) c1[A[i]-'A']++;
    for(int i = x; i <= y; i++) c2[B[i]-'A']++;
    for(int i = 0; i < 26; i++) if(c1[i]!=c2[i]) return -1;
    string a = A.substr(x,y-x+1), b = B.substr(x,y-x+1);
    int cnt = 0;
    for(int i = 0; i < a.length(); i++){
        if(a[i]==b[i]) continue;
        for(int j = i+1; j < b.length(); j++){
            if(a[i]==b[j]){
                cnt++;
                swap(b[i],b[j]);
                break;
            }
        }
    }return cnt;
}

// int main(){
//     int n, q; cin >> n >> q;
//     string s1, s2; cin >> s1 >> s2;
//     init(s1,s2);
//     while(q--){
//         int x, y; cin >> x >> y;
//         cout << get_distance(x,y) << endl;
//     }
// }
#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...