1368 - DNA Consensus String
来源:互联网 发布:淘宝发布网络推广类目 编辑:程序博客网 时间:2024/05/18 01:47
读题依然困难。。开始的时候中间写了一个函数
来返回字母不同个数,后来发现有一组数据死活不对。
自测不对代码:
#include<stdio.h>#include<string.h>int wuyu(int a,int c,int g,int t,int m){ int flag; if(a==c&&c==g&&g==t){ printf("A");return 0; } else if(a>c&&a>g&&a>t){ printf("A");return m-a; } else if(c>a&&c>g&&c>t){ printf("C");return m-c; } else if(g>a&&g>c&&g>t){ printf("G");return m-g; } else if(t>a&&t>c&&t>g){ printf("T");return m-t; }}int main(){ int t,m,n,i,j,flag,e; char D; int A[1100],C[1100],G[1100],T[1100]; scanf("%d",&t); while(t--){ scanf("%d%d",&m,&n);getchar(); memset(A,0,sizeof(int)*1100); memset(C,0,sizeof(int)*1100); memset(G,0,sizeof(int)*1100); memset(T,0,sizeof(int)*1100); e=0; for(i=1;i<=m;++i){ for(j=1;j<=n;++j){ scanf("%c",&D); if(D=='A') ++A[j]; else if(D=='C') ++C[j]; else if(D=='G') ++G[j]; else if(D=='T') ++T[j]; } getchar(); } for(i=1;i<=n;++i) e=e+wuyu(A[i],C[i],G[i],T[i],m); printf("\n%d\n",e); } return 0;
比如说m-a=3吧,子函数return m-a;了到了e=e+wuyu(A[i],C[i],G[i],T[i],m);这一步居然变成了0+0;搞不懂为什么,而且只有
4 10
ACGTACGTAC
CCGTACGTAG
GCGTACGTAT
TCGTACGTAA
这组数据错了,so我想了半天发现不写子函数更简单。于是AC代码:
#include<stdio.h>#include<string.h>int main(){ int t,m,n,i,j,flag,e,E; char D; int A[1100],C[1100],G[1100],T[1100]; scanf("%d",&t); while(t--){ scanf("%d%d",&m,&n);getchar(); memset(A,0,sizeof(int)*1100); memset(C,0,sizeof(int)*1100); memset(G,0,sizeof(int)*1100); memset(T,0,sizeof(int)*1100); e=0; for(i=1;i<=m;++i){ for(j=1;j<=n;++j){ scanf("%c",&D); if(D=='A') ++A[j]; else if(D=='C') ++C[j]; else if(D=='G') ++G[j]; else if(D=='T') ++T[j]; } getchar(); } for(i=1;i<=n;++i){ if(A[i]>=C[i]&&A[i]>=G[i]&&A[i]>=T[i]){ printf("A");e=e+m-A[i]; } else if(C[i]>A[i]&&C[i]>=G[i]&&C[i]>=T[i]){ printf("C");e=e+m-C[i]; } else if(G[i]>A[i]&&G[i]>C[i]&&G[i]>=T[i]){ printf("G");e=e+m-G[i]; } else if(T[i]>A[i]&&T[i]>C[i]&&T[i]>G[i]){ printf("T");e=e+m-T[i]; } } printf("\n%d\n",e); } return 0;}
0 0
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 - DNA Consensus String
- 1368 DNA Consensus String
- UVA 1368 - DNA Consensus String
- uva 1368 DNA Consensus String
- Uva-1368-DNA Consensus String
- UVa 1368 DNA Consensus String
- UVA 1368 DNA Consensus String
- UVA 1368 DNA Consensus String
- UVa:1368 DNA Consensus String
- uva 1368 - DNA Consensus String
- UVaOJ 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 - DNA Consensus String
- UVa 1368 DNA Consensus String
- UVa 1368 - DNA Consensus String
- unity3d Mecanim动画系统获取动画层、动画状态等方法
- 工作中遇到的几个的总结
- 字典树--HDU 1251统计
- 习题9-1 最长的滑雪路径 UVa10285
- 【BestCoder】#Valentine's Day Round
- 1368 - DNA Consensus String
- C - Elevator
- ACM比赛经验
- 简单视频加密与授权
- 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 & Windows无法安装所需的文件,错误代码0x80070570
- 小寒假第七天总结 转 Objective-C语法:
- C++的常用知识
- 互联网黑市分析:社工库的传说
- xorg初始化过程分析,总结