UVA_457题的一些思考

此题为刘汝佳算法入门经典中最后“水题”最后一道,此题难度不高,难点在于理解UVA上纯英文题目的含义,此题仅仅就是提供了一个DNA序列,指出当某个试管及其左右试管中细菌数量的和与下一时间段该试管中细菌数量的关系,此题需注意的有两点

第一条是对于边缘数据而言,无需再加左侧(或右侧)没有试管的密度,不妨就等价于其左右均有一个不盛装细菌的试管,只要在左右预留两个试管位置即可

第二条在于输出格式的问题,因为输出格式的错误,本人在此题目贡献了4个unac

C语言很可怕,但是细节更可怕!做ACMER必须要注意的是细节





#include "stdio.h"

#include "string.h"


int main(int argc, char const *argv[])
{
//freopen("out.txt","w",stdout);
int tube[60][50];
int gene[11];
int T,i,j;
scanf("%d",&T);
for(;T>0;T--)
{
for(i=0;i<10;i++)
scanf("%d",gene+i);
memset(tube,0,sizeof(tube));
tube[0][20]=1;
for(i=1;i<=50;i++)
for(j=1;j<=40;j++)
tube[i][j]=gene[tube[i-1][j-1]+tube[i-1][j]+tube[i-1][j+1]];
for(i=0;i<50;i++)
{
for(j=1;j<=40;j++)
{
if(tube[i][j]==0) printf(" ");
if(tube[i][j]==1) printf(".");
if(tube[i][j]==2) printf("x");
if(tube[i][j]==3) printf("W");
}
printf("\n");
}
if(T!=1) printf("\n");
}
return 0;
}
//bbbb bbbb bbbb bbbb bbb.

你可能感兴趣的:(uva)