Submission #1141901

#TimeUsernameProblemLanguageResultExecution timeMemory
1141901jokerMutating DNA (IOI21_dna)C++17
43 / 100
1596 ms2376 KiB
#include "dna.h"
#include <unordered_set>
#include <unordered_map>
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#include <iomanip>
#include <numeric>

using namespace std;
string ast;
string bst;

void init(std::string a, std::string b) {
    ast = a;
    bst = b;
}

int get_distance(int x, int y) {
    string sl = ast.substr(x,y-x+1);
    string sr = bst.substr(x,y-x+1);

    string t1 = sl;
    string t2 = sr;
    sort(t1.begin(),t1.end());
    sort(t2.begin(),t2.end());
    if (t1 == t2) {
        int ans = 0;
        int i = 0;
        while (sl != sr) {
            if (sl[i] == sr[i]) {
                i++;
            } else {
                for (size_t j = i+1;j < y-x+1;j++){
                    if (sl[j] == sr[i] && sr[j] != sl[j]) {
                        swap(sl[j],sl[i]);
                    }
                }
                ans++;
            }
        }
        return ans;
    }
	return -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...