设为首页 加入收藏

TOP

HDU 1057 模拟细菌的变化(二)
2015-07-20 17:13:43 来源: 作者: 【 】 浏览:6
Tags:HDU 1057 模拟 细菌 变化
............... .................... .................... .................... .................... ....................
Source Mid-Atlantic USA 2001
题意:给定一个天数N,求20*20方阵内细菌的变化情况。每次变化都是加上一个d[k],d数组有给定的16个数。k是值是它本身加上它上下左右的四个数。 简单模拟题。
#include 
  
   
#include 
   
     int main() { int d[16]; int a[22][22]; int b[22][22]; int n,i,j,day,k; scanf(%d,&n); while(n--) { //if(n) // printf( ); memset(a,0,sizeof(a)); scanf(%d,&day); memset(b,0,sizeof(b)); for(i=0;i<16;i++) scanf(%d,&d[i]); for(i=1;i<=20;i++) for(j=1;j<=20;j++) scanf(%d,&a[i][j]); while(day--) { for(i=1;i<=20;i++) for(j=1;j<=20;j++) { b[i][j]=a[i][j]+d[a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1]+a[i][j]];//每次变化的值 if(b[i][j]>3) b[i][j]=3; //最大为3, else if(b[i][j]<0) b[i][j]=0; //最小为0 } for(i=1;i<=20;i++) for(j=1;j<=20;j++) a[i][j]=b[i][j]; //变化一次后重新赋值 } for(i=1;i<=20;i++) { for(j=1;j<=20;j++) { if(b[i][j]==0) printf(.); else if(b[i][j]==1) printf(!); else if(b[i][j]==2) printf(X); elsewww.2cto.com printf(#); //输出。 } printf( ); } if(n) printf( ); } return 0; }
   
  

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇NYOJ 374 弹球II 下一篇hdu 1398 Square Coins 又是母函..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)
·计算机网络知识点总 (2025-12-27 08:20:52)
·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)