Submission #689463

#TimeUsernameProblemLanguageResultExecution timeMemory
689463coding_snorlaxMutating DNA (IOI21_dna)C++17
43 / 100
1580 ms2376 KiB
#include<bits/stdc++.h> #include "dna.h" using namespace std; string A,B; void init(string a, string b){ A=a; B=b; } int get_distance(int x,int y){ if(y-x<=2){ if(y==x){ if(A[x]==B[x]) return 0; else return -1; } else if(y==x+1){ if(A[x]==B[x] && A[x+1]==B[x+1]) return 0; else if(A[x]==B[x+1] && A[x+1]==B[x]) return 1; else return -1; } else{ if(A[x+2]==B[x+2]){ if(A[x]==B[x] && A[x+1]==B[x+1]) return 0; else if(A[x]==B[x+1] && A[x+1]==B[x]) return 1; else return -1; } else if(A[x+1]==B[x+1]){ if(A[x]==B[x] && A[x+2]==B[x+2]) return 0; else if(A[x]==B[x+2] && A[x+2]==B[x]) return 1; else return -1; } else if(A[x]==B[x]){ if(A[x+1]==B[x+1] && A[x+2]==B[x+2]) return 0; else if(A[x+1]==B[x+2] && A[x+2]==B[x+1]) return 1; else return -1; } else{ if(A[x]==B[x+1] && A[x+1]==B[x+2] && A[x+2]==B[x]) return 2; else if(A[x+1] == B[x] && A[x+2]==B[x+1] && A[x]==B[x+2]) return 2; else return -1; } } } int Count = 0; int find_answer = 0; for(int i=x;i<=y;i++){ if(A[i]!=B[i]){ if(A[i]=='A') find_answer++; else find_answer--; Count++; } } if(find_answer) return -1; else return Count/2; }
#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...