BC #65 (A)
2015-12-06 23:16
357 查看
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(ZJ−267)在NOIPNOIP拿到600600分之后开始虐生物题,他现在扔给你一道简单的生物题:给出一个DNADNA序列和一个RNARNA序列, 问它们是否配对。 DNADNA序列是仅由A,C,G,TA,C,G,T组成的字符串,RNARNA序列是仅由A,C,G,UA,C,G,U组成的字符串。 DNADNA和RNARNA匹配当且仅当每个位置上AA与UU,TT与AA,CC与GG,GG与CC匹配。
输入描述
第一行一个整数TT表示数据组数。 对于每组数据: 第一行一个整数NN表示DNADNA和RNARNA序列的长度. 第二行一个长度为NN的字符串AA表示DNADNA序列. 第三行一个长度为NN的字符串BB表示RNARNA序列. 1 \leq T \leq 101≤T≤10,1 \leq N \leq 1001≤N≤100
输出描述
对于每组数据,输出一行YESYES或NONO,表示是否匹配.
输入样例
2 4 ACGT UGCA 4 ACGT ACGU
输出样例
YES NO
题解:直接模拟
#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;
}
相关文章推荐
- 信息安全系统第十三周学习总结 20135218 姬梦馨
- JAVA之路
- iOS开发 - 22.实用技术之地图的基本使用
- UVa 725 除法
- 12.06
- 信息安全系统第十三周学习总结 20135218 姬梦馨
- 堆排序
- Qtablewidget 无法获取单元格的值
- 检查点队列浅析
- 如何修改OpenCV源码并调试
- 项目报告(最终版)
- 第二百四十八天 how can I 坚持
- 利用svn的blame功能查出代码的每一行是谁写/改的
- 安装 kali live usb
- dede之瀑布流添加心得
- SVM(一)问题的提出
- Android群英传之Android控件建构与自定义控件详解知识点总结
- java 多线程 CountDownLatch用法
- eclipse_jee启动tomcat无法访问tomcat首页,但项目首页却可以打开
- 如何实现arcgis图层属性字段物理顺序的修改