BC #65 (A)

来源:互联网 发布:s7200编程电缆驱动 编辑:程序博客网 时间:2024/05/22 03:40

ZYB's Biology

 
 Accepts: 848
 
 Submissions: 1199
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 131072/131072 K (Java/Others)
问题描述
ZYB(ZJ-267)ZYB(ZJ267)NOIPNOIP拿到600600分之后开始虐生物题,他现在扔给你一道简单的生物题:给出一个DNADNA序列和一个RNARNA序列,问它们是否配对。DNADNA序列是仅由A,C,G,TA,C,G,T组成的字符串,RNARNA序列是仅由A,C,G,UA,C,G,U组成的字符串。DNADNARNARNA匹配当且仅当每个位置上AAUU,TTAA,CCGG,GGCC匹配。
输入描述
第一行一个整数TT表示数据组数。对于每组数据:第一行一个整数NN表示DNADNARNARNA序列的长度.第二行一个长度为NN的字符串AA表示DNADNA序列.第三行一个长度为NN的字符串BB表示RNARNA序列.1 \leq T \leq 101T10,1 \leq N \leq 1001N100
输出描述
对于每组数据,输出一行YESYESNONO,表示是否匹配.
输入样例
24ACGTUGCA4ACGTACGU
输出样例
YESNO


题解:直接模拟

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<set>#include<map>#include<string>using namespace std;char s1[2000],s2[2000];int main(){#ifdef  CDZSC    freopen("i.txt","r",stdin);#endif    int n,t;    scanf("%d",&t);    while(t--)    {        //A与UU,TT与AA,CC与GG,GG与CC匹配。        scanf("%d",&n);        scanf("%s%s",s1,s2);        int ok=1;        for(int i=0;s1[i];i++)        {            if(s1[i]=='A')            {                if(s2[i]!='U')ok=0;            }            if(s1[i]=='T')            {                if(s2[i]!='A')ok=0;            }            if(s1[i]=='C')            {                if(s2[i]!='G')ok=0;            }            if(s1[i]=='G')            {                if(s2[i]!='C')ok=0;            }        }        puts(ok?"YES":"NO");    }    return 0;}






0 0
原创粉丝点击