Submission #1357573

#TimeUsernameProblemLanguageResultExecution timeMemory
1357573michael12Mutating DNA (IOI21_dna)C++20
0 / 100
15 ms2348 KiB
#include "dna.h"
#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<numeric>
#include<string>
#include<stack>
#include<queue>
#include<string.h>
#include<array>
#include<climits>
#include<algorithm>
#include<cmath>
using namespace std;
#define ff first
#define ss second
#define endl '\n'
const int inf = 1e9;
string s, s1;
void init(string a, string b){
    s = a;
    s1 = b;
    return;
}
int get_distance(int x, int y){
    int res = 0;
    map<pair<char, char>, int> mp, mp1;
    for(int i = x; i <= y; i++){
        if(s[i] != s1[i]){
          mp[{s[i], s1[i]}] += 1;
        }
    }
    int rem = 0;
    for(auto t : mp){
        int cnt = min(mp[{t.ff.ff, t.ff.ss}], mp[{t.ff.ss, t.ff.ff}]);
        res += cnt;
        mp[{t.ff.ff, t.ff.ss}] -= cnt;
        mp[{t.ff.ss, t.ff.ff}] -= cnt;
    }
    for(auto t : mp){
        rem += t.ss;
    }
    res += (rem / 3) * 2;
    return res;
    
}
// signed main(){
//     string a, b;
//     cin >> a >> b;
//     init(a, b);
//     cout << get_distance(4, 5);
// }
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...