您的位置:首页 > 其它

uvaoj 457 - Linear Cellular Automata

2011-08-02 08:48 489 查看
/*
题意稍难懂
英语水平有限所致。。。
zoj上也有一道类似的题
不过比这个难得多
WR了N次
*/
#define LOCAL
#include<iostream>
#include<cstring>    //memset()原来包含在string.h,一直CE。。。
using namespace std;
int main()
{
#ifdef LOCAL
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif

int n,DNA[10],dish[40],last[40],i,j,first=1;
cin>>n;
while(n--)
{
cin.get();
if(!first)
cout<<endl;
else
first=0;
for(i=0;i<10;i++)
cin>>DNA[i];
memset(last,0,sizeof(last));
last[19]=1;
for(j=0;j<50;j++)
{
for(i=0;i<40;i++)
dish[i]=DNA[((i-1)>=0?last[i-1]:0)+last[i]+((i+1)<40?last[i+1]:0)];//这个可以当做万用公式
for(i=0;i<40;i++)
{
switch(last[i])
{
case 0:cout<<' ';break;
case 1:cout<<'.';break;
case 2:cout<<'x';break;
case 3:cout<<'W';break;
}
}
cout<<endl;
for(i=0;i<40;i++)
last[i]=dish[i];
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: