| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖, 1 人收藏
标题:关于超级病毒的问题,ACM的编程题目~!
取消只看楼主 加入收藏
lcddhr
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2011-5-18
结帖率:100%
收藏(1)
已结贴  问题点数:15 回复次数:2 
关于超级病毒的问题,ACM的编程题目~!
描述
在ACM训练基地最引人注目的一台计算机是一台具有高度人工智能的超级生物计算机。和其他所有计算机不同,这台计算机拥有和人类一样的DNA结构。由于具有高度的人工智能,各位训练队员们都早已把它当成是训练队里不可缺少的一员。


有一天,它们发现这台计算机生病了……


生病以后,这台计算机变得很虚弱,不和我们打招呼了,也不能帮我们想算法题了。队员们都很难过,他们都想帮帮这位好朋友。


经过仔细的检查,它们发现这台计算机感染了一种病毒。和医学中的病毒一样,这种超级病毒侵入计算机运算单元内的细胞,将其感染。于是,正常细胞中的DNA被病毒更改为新的序列。导致细胞机能的变异。


经过仔细比对,训练队员们已经找到了可疑的病毒特征序列,即,如果细胞的DNA序列中包含这种序列,那么该细胞就很可能被感染。


例如,病毒特征代码为ATAA,则如果DNA序列中如果有ATCATAATCATAC这样一段,则细胞就很可能受到感染。


现在,队员们将为生病计算机进行彻底的检查,他们将给出计算机完整的DNA序列(和生物学中的DNA一样,计算机的DNA序列也可以表示为字母A,T,C,G组成的序列),你的任务是,判定该DNA序列中出现过几次病毒特征序列。


注意:其中病毒特征序列在待测DNA序列中重叠出现必须按多次计算。


例如: AATTAATTAA在AATTAATTAATTAA中出现两次。

输入
输入包括多组测试数据,第一行有一个正整数N表示数据数量。
以下为N组测试数据。
每组测试数据由两行,每一行都是由字母A、T、C、G组成的字符串。第一行为病毒特征代码(长度不超过10000个字符)。第二行为待测DNA序列,此序列长度较长(长度不超过1000000个字符)。


输出
对于每一组测试数据,输出一个整数表示答案,为在待测DNA序列中出现病毒特征代码的次数。

样例输入
1
AATTAATTAA
AATTAATTAATTAA
样例输出
2

///长度不超过1000000  这该怎么定义呀  我的编译器老是报错~~~   
我的代码:#include<stdio.h>
#include<string.h>
#include<malloc.h>
void main()
{
 char *s1,*s2;
 int num=0,num_s1,num_s2;
 int i,j,k,flag,N;
 s1=(char *)malloc(sizeof(char)*10000);
 s2=(char *)malloc(sizeof(char)*1000000);


 gets(s1);
 gets(s2);

 num_s1=strlen(s1);
 num_s2=strlen(s2);

 for(j=0;j<num_s2-num_s1+1;j++)
 {
  flag=1,k=j;
  for(i=0;i<num_s1;i++)
  {
   if(s2[k]!=s1[i])
   {
    flag=0;
    break;
   }
   else
   k++;
  }
   if(flag)
    num++;
 }

 printf("%d",num);




 }
//编辑一组数据的话还行  两组以上数据我就不会了 请问要怎么修改呢?

下面是OJ的判断网址:http://www.

[ 本帖最后由 lcddhr 于 2011-6-2 12:38 编辑 ]
搜索更多相关主题的帖子: 人工智能 计算机 超级病毒 好朋友 基地 
2011-06-02 11:27
lcddhr
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2011-5-18
收藏
得分:0 
回复 2楼 lz1091914999
你OJ判断过了么?
2011-06-02 13:13
lcddhr
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2011-5-18
收藏
得分:0 
回复 4楼 lz1091914999
你的输入方式和题目要求的不对呀,题目的要求是先输入要测试几组数据   然后输入数据     最后连结果一起输出   而你的却是输入一组数据然后就得出一个结果  OJ不能通过呀~~    这是提交代码的OJ网址 你可以试试http://www.
2011-06-02 18:44
快速回复:关于超级病毒的问题,ACM的编程题目~!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012623 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved