HDU 1057A New Growth Industry
2016-01-25 14:55
204 查看
题目描述很难懂,意思看懂了这个题并不难。
大致的意思是再模拟细菌生长,周围密度大,生长就慢,密度小,生长就快。关键点在数组D,输出要有格式,第一次提交是PE,后来才发现还有个输出空行。
直接上代码
大致的意思是再模拟细菌生长,周围密度大,生长就慢,密度小,生长就快。关键点在数组D,输出要有格式,第一次提交是PE,后来才发现还有个输出空行。
直接上代码
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int DishSize = 25; const char SignTable[]=".!X#"; //简便输出 int ol[DishSize][DishSize],no[DishSize][DishSize]; int main() { int T,da; int d[20]; //freopen("C:\\CODE\\in.txt", "r", stdin); scanf("%d",&T); while(T--) { scanf("%d",&da); for(int i=0; i<16; i++) { scanf("%d",&d[i]); } for(int i=0; i<20; i++) { for(int j=0; j<20; j++) { scanf("%d",&ol[i][j]); } } while(da--) { int k=0; for(int i=0; i<20; i++) { for(int j=0; j<20; j++) { k=ol[i][j]; if(i>0) k+=ol[i-1][j]; if(i<19) k+=ol[i+1][j]; if(j>0) k+=ol[i][j-1]; if(j<19) k+=ol[i][j+1]; no[i][j]=ol[i][j]+d[k]; if(no[i][j]<0) no[i][j]=0; if(no[i][j]>3) no[i][j]=3; } } for(int i=0; i<20; i++) { for(int j=0; j<20; j++) { ol[i][j]=no[i][j]; } } } for(int i=0;i<20;i++){ for(int j=0;j<20;j++){ printf("%c",SignTable[ol[i][j]]); } putchar('\n'); } //还要输出空行 if(T) putchar('\n'); } return 0; }
相关文章推荐
- mysql基本操作
- 递归---Convert Sorted Array to Binary Search Tree With Minimal Height
- 看大神解释https和http的概念和区别
- hadoop 2.6.0 安全问题--UserGroupInformation
- Entity Framework 教程
- mysql 连接字符串与SQL不同(mysql CONCAT()的使用)
- RHCE 学习笔记(13) RPM 和 YUM
- jsp截取字符串
- python算法——第四天
- LA 3523 tarjian求双连通分量+二分判奇圈
- jQuery中inArray方法注意事项分析
- 沉湎网络 心理障碍
- leetcode之Add Binary
- 自动生成android、ios开发所需要的所有尺寸的图片
- cocos2d-x3.2中加入Android手机震动
- 3D文字菜单变换
- 解决android studio设置版本号
- C++ template —— 模板特化(五)
- ---------很简单的 一道 堆栈问题-------
- linux 乱码问题解决