Poj Solution 1120

http://poj.org/problem?id=1120

/* @author: */
import java.util.Scanner;
import java.util.Arrays;
public class Main{
   int map[][]=new int[22][22];
   int d[]=new int[16];
   char code[]={'.','!','X','#'};

   int sum(int i,int j){
    return map[i][j]+map[i-1][j]+map[i+1][j]+map[i][j-1]+map[i][j+1];
   }

  public void doIt(){
   Scanner sc=new Scanner(System.in);
   int n=sc.nextInt();

   for(int i=0;i< 16;i++)
    d[i]=sc.nextInt();

  for(int i=1;i<=20;i++)
   for(int j=1;j<=20;j++)
     map[i][j]=sc.nextInt();

   while((n--)!=0){
     int tem[][]=new int[22][22];
     for(int i=1;i<=20;i++)
    for(int j=1;j<=20;j++){
       tem[i][j]=map[i][j]+d[sum(i,j)];
       if(tem[i][j]>3)
         tem[i][j]=3;
       if(tem[i][j]< 0)
         tem[i][j]=0;
    }
    for(int i=1;i<=20;i++)
    for(int j=1;j<=20;j++){
        map[i][j]=tem[i][j];
    }
   }
  for(int i=1;i<=20;i++){
    for(int j=1;j<=20;j++){
    System.out.printf("%c",code[map[i][j]]);
    }
    System.out.println();
   }

    
}
 public static void main(String args[]){
   Main m=new Main();
   m.doIt();    
 }
}



											
This entry was posted in poj. Bookmark the permalink.