zoukankan      html  css  js  c++  java
  • hdu1057

    #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;
    }
  • 相关阅读:
    (转)Ubuntu init启动流程分析
    读懂diff
    vs2010 sp1
    Git .gitignore文件的使用
    第一次尝试节奏跑(乳酸门槛跑)
    放松跑、间歇跑、节奏跑和LSD
    Tomcat6配置webdav协议
    Content-disposition
    php5.3到php7.0.x新特性介绍
    随机生成字符串
  • 原文地址:https://www.cnblogs.com/wangkun1993/p/6313165.html
Copyright © 2011-2022 走看看