标签:
/*
问题描述
ZYB(ZJ-267)ZYB(ZJ-267)ZYB(ZJ?267)在NOIPNOIPNOIP拿到600600600分之后开始虐生物题,他现在扔给你一道简单的生物题:给出一个DNADNADNA序列和一个RNARNARNA序列,
问它们是否配对。
DNADNADNA序列是仅由A,C,G,TA,C,G,TA,C,G,T组成的字符串,RNARNARNA序列是仅由A,C,G,UA,C,G,UA,C,G,U组成的字符串。
DNADNADNA和RNARNARNA匹配当且仅当每个位置上AAA与UUU,TTT与AAA,CCC与GGG,GGG与CCC匹配。
输入描述
第一行一个整数TTT表示数据组数。
对于每组数据:
第一行一个整数NNN表示DNADNADNA和RNARNARNA序列的长度.
第二行一个长度为NNN的字符串AAA表示DNADNADNA序列.
第三行一个长度为NNN的字符串BBB表示RNARNARNA序列.
1≤T≤101 \leq T \leq 101≤T≤10,1≤N≤1001 \leq N \leq 1001≤N≤100
输出描述
对于每组数据,输出一行YESYESYES或NONONO,表示是否匹配.
输入样例
2
4
ACGT
UGCA
4
ACGT
ACGU
输出样例
YES
NO
*/
#include<iostream> #include<cstdio> using namespace std; int main() { int N,length,a[100],b[100],i,j,k; char temp; cin>>N; while(N--) { cin>>length; for(i=0;i<length;i++) { cin>>temp; if(temp==‘A‘) a[i]=1; else if(temp==‘C‘)a[i]=2; else if(temp==‘G‘)a[i]=3; else if(temp==‘T‘)a[i]=4; } for(j=0;j<length;j++) { cin>>temp; if(temp==‘U‘) b[j]=1; else if(temp==‘G‘)b[j]=2; else if(temp==‘C‘)b[j]=3; else if(temp==‘A‘)b[j]=4; } for(k=0;k<length;k++) { if(a[k]!=b[k]) break; } if(k<length) cout<<"NO"<<endl; else if(k==length) cout<<"YES"<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/tt-t/p/5022510.html