BestCoder Round #65 hdu5590(水题)

ZYB's Biology

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 713    Accepted Submission(s): 522

Problem Description
After getting 600 scores in NOIP ZYB(ZJ−267) begins to work with biological questions.Now he give you a simple biological questions:
he gives you a DNA sequence and a RNA sequence,then he asks you whether the DNA sequence and the RNA sequence are 
matched.

The DNA sequence is a string consisted of A,C,G,T;The RNA sequence is a string consisted of A,C,G,U.

DNA sequence and RNA sequence are matched if and only if A matches U,T matches A,C matches G,G matches C on each position. 

 
Input
In the first line there is the testcase T.

For each teatcase:

In the first line there is one number N.

In the next line there is a string of length N,describe the DNA sequence.

In the third line there is a string of length N,describe the RNA sequence.

1≤T≤10,1≤N≤100

 
Output
For each testcase,print YES or NO,describe whether the two arrays are matched.
 
Sample Input
2
4
ACGT
UGCA
4
ACGT
ACGU
 
Sample Output
YES
NO
 
题意:给一段DNA和RNA问是否配对
#include<stdio.h>
#include<string.h>
#include<string>
#include<math.h>
#include<algorithm>
#define LL long long
#define PI atan(1.0)*4
#define DD double
#define MAX 110
#define mod 10007
#define dian 1.000000011
char s1[MAX],s2[MAX];
using namespace std;
int judge(int x)
{
int flag=0;
if(s1[x]=='A'&&s2[x]=='U')
flag=1;
else if(s1[x]=='C'&&s2[x]=='G')
flag=1;
else if(s1[x]=='G'&&s2[x]=='C')
flag=1;
else if(s1[x]=='T'&&s2[x]=='A')
flag=1;
if(flag) return 1;
else return 0;
}
int main()
{
int t,n,m,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
scanf("%s",s1);
scanf("%s",s2);
int flag=1;
for(i=0;i<n;i++)
{
if(!judge(i))
{
flag=0;
break;
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}

  

上一篇:hdu 5284 BestCoder Round #48 ($) 1001 水题 *


下一篇:[HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP)