#include <iostream>
#include <string>
#include <cstring>
using namespace std; int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}};
int mat[20][20],tar[20][20],tar2[20][20];
char transtar[20][20];
int pxvalue[16]; int main()
{
int testcase;
cin>>testcase;
for(int s=1;s<=testcase;s++)
{
memset(mat,0,sizeof(mat));
memset(tar,0,sizeof(tar));
memset(pxvalue,0,sizeof(pxvalue));
int day,tmp,tmpx,tmpy;
cin>>day; for(int i=0;i<16;i++)
{
cin>>pxvalue[i];
} for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
cin>>mat[i][j];
}
} for(int k=0;k<day;k++)
{
for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
tmp=mat[i][j];
for(int z=0;z<4;z++)
{
tmpx=i+dir[z][0];
tmpy=j+dir[z][1];
if(tmpx>=0 && tmpx<20 && tmpy>=0 && tmpy<20)
tmp+=mat[tmpx][tmpy];
} tar[i][j] = mat[i][j]+pxvalue[tmp]; if(tar[i][j]>3)
tar[i][j]=3;
if(tar[i][j]<0)
tar[i][j]=0;
}
}
memcpy(mat,tar,sizeof(mat)); //滚动更新,重中之重
} for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
if(tar[i][j]==0)
{
transtar[i][j]='.';
}
else if(tar[i][j]==1)
{
transtar[i][j]='!';
}
else if(tar[i][j]==2)
{
transtar[i][j]='X';
}
else if(tar[i][j]==3)
transtar[i][j]='#';
}
} for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
cout<<transtar[i][j];
}
cout<<endl;
}
if(s!=testcase)
cout<<endl; }
return 0;
}

hdu1057的更多相关文章

  1. ACM训练计划建议(写给本校acmer,欢迎围观和指正)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

  2. ACM训练计划建议(转)

    ACM训练计划建议 From:freecode#  Date:2015/5/20 前言: 老师要我们整理一份训练计划给下一届的学弟学妹们,整理出来了,费了不少笔墨,就也将它放到博客园上供大家参考. 菜 ...

随机推荐

  1. android电池(五):电池 充电IC(PM2301)驱动分析篇【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/8970363 android充电这块,有的电源管理芯片内部包含充电管理,如s5pv210 ...

  2. 算法(Algorithms)第4版 练习 1.3.32

    ADT: /** * see if Steque is empty * @return {@code true} Steque is empty * {@code false} Steque isn' ...

  3. Kafka- Spark消费Kafka

    在高版本的API中 val brokers = properties.getProperty("kafka.host.list") val topics = Set(propert ...

  4. html转义字符及css清除

    1. [代码][Java]代码     ​import java.util.HashMap;import java.util.Map; import org.apache.commons.lang3. ...

  5. GridView内容详解(转载)

    GridView内容详解(转载) GridView是ASP.NET界面开发中的一个重要的控件,对GridView使用的熟练程度直接影响软件开发的进度及功能的实现.(车延禄)GridView的主要新特性 ...

  6. Logiscope学习网址

    Logiscope测试机理   http://blog.csdn.net/cmy673986/article/details/9163247 http://www.cnitblog.com/qiuya ...

  7. hibernate复习第(一)天

    首先导入jar. 这个版本是3.2.5 开发流程: 1.由Domain object ->mapping ->db (官方推荐) 2.由DB开始,使用工具生成mapping和Domain ...

  8. 机器学习:YOLO for Object Detection (一)

    最近看了基于CNN的目标检测另外两篇文章,YOLO v1 和 YOLO v2,与之前的 R-CNN, Fast R-CNN 和 Faster R-CNN 不同,YOLO 将目标检测这个问题重新回到了基 ...

  9. JQuery基本知识、选择器、事件、DOM操作、动画--2017年2月10日

    $(对象)可以将JS对象转换为JQuery对象  .get(0)可以将JQuery对象转换为JS对象 并无太大区别,灵活点出即可

  10. 脚本手动执行正常,放cron中执行有问题的原因

    问题原因:   1. crond服务没启动   2. 环境变量如 PATH LANG SHELL 等设置不对   3. 脚本中引用的文件地址是相对路径,而非绝对路径.   排查步骤:  以 check ...