# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1142106 | abdesssalam | DNA 돌연변이 (IOI21_dna) | C++20 | 0 ms | 0 KiB |
#include "dna.h"
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
int n,q;
cin>>n>>q;
string a,b;
cin>>a>>b;
for(int i=0; i<q; i++)
{
int x,y;
cin>>x>>y;
string substringA,substringB;
int Aa=0,Ca=0,Ta=0;
int Ab=0,Cb=0,Tb=0;
for(int j=x; j<=y; j++)
{
substringA=substringA+a[j];
substringB=substringB+b[j];
}
for(int j=0; j<int(substringA.length()); j++)
{
if(substringA[j]=='A')
{
Aa++;
}
else if(substringA[j]=='C')
{
Ca++;
}
else if(substringA[j]=='T')
{
Ta++;
}
}
for(int j=0; j<int(substringB.length()); j++)
{
if(substringB[j]=='A')
{
Ab++;
}
else if(substringB[j]=='C')
{
Cb++;
}
else if(substringB[j]=='T')
{
Tb++;
}
}
if(Aa!=Ab||Ca!=Cb||Ta!=Tb)
{
cout<<-1<<'\n';
}
else
{
int s=0;
for(int j=0; j<int(substringA.length()); j++)
{
if(substringA[j]==substringB[j])
{
continue;
}
else
{
for(int k=j+1; k<int(substringA.length()); k++)
{
if(substringA[k]==substringB[j])
{
s++;
int temp;
//swap
temp=substringA[j];
substringA[j]=substringA[k];
substringA[k]=temp;
break;
}
}
}
}
cout<<s<<'\n';
}
}
}