niks1234

Untitled

Jan 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.52 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import java.text.*;
  4. import java.math.*;
  5. import java.util.regex.*;
  6.  
  7. public class Solution {
  8.  
  9.     public static void main(String[] args) {
  10.         /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
  11.  
  12.         Scanner in = new Scanner(System.in);
  13.         int r = in.nextInt();
  14.         int c = in.nextInt();
  15.         int n = in.nextInt();
  16.  
  17.         char a[][] = new char[r][c];
  18.         String s[] = new String[r];
  19.         int willblast1 = 0;
  20.         int willblast0 = 1;   // 0 will blast
  21.  
  22.         for(int i=0;i<r;i++){
  23.  
  24.              s[i]=in.next();
  25.              s[i].trim();
  26.         }
  27.  
  28.         for(int i=0;i<r;i++){
  29.  
  30.              for(int j=0;j<c;j++){
  31.                  a[i][j] = s[i].charAt(j);
  32.              }
  33.  
  34.         }
  35.  
  36.  
  37.  
  38.         for(int i=2;i<=n;i++){
  39.  
  40.             if(i%2==0){
  41.                 //arrange
  42.  
  43.                 if(willblast0==1){
  44.                     for(int j=0;j<r;j++){
  45.                         for(int k=0;k<c;k++){
  46.                             if(a[j][k]=='.'){
  47.                                 a[j][k]='1';
  48.                             }
  49.  
  50.                         }
  51.                     }
  52.                 }else if(willblast1==1){
  53.                     for(int j=0;j<r;j++){
  54.                         for(int k=0;k<c;k++){
  55.                             if(a[j][k]=='.'){
  56.                                 a[j][k]='0';
  57.                             }
  58.                         }
  59.                     }
  60.                 }
  61.  
  62.                 /*------------------------------------------------
  63.                 System.out.println("Debug:************arrange******");
  64.                 //System.out.println("");
  65.                 for(int j=0;j<r;j++){
  66.                     for(int k=0;k<c;k++){
  67.                         System.out.print(a[j][k]);
  68.                     }
  69.                     System.out.println("");
  70.                 }
  71.                 System.out.println("Debug:******************");
  72.                 /*-----------------------------------------------------*/
  73.  
  74.  
  75.             }
  76.  
  77.             if(i%2==1){
  78.                 //detonate
  79.                 int right,left,up,down;
  80.  
  81.  
  82.                 if(willblast1==1){
  83.  
  84.                   for(int j=0;j<r;j++){
  85.                       for(int k=0;k<c;k++){
  86.  
  87.                           if(a[j][k]=='1'){
  88.  
  89.                               right=k+1;
  90.                               left=k-1;
  91.                               up=j-1;
  92.                               down=j+1;
  93.                               a[j][k]='.';
  94.                               /*System.out.println("*****************");
  95.                               System.out.println("right:"+right);
  96.                               System.out.println("left:"+left);
  97.                               System.out.println("up:"+up);
  98.                               System.out.println("down"+down);*/
  99.                               if(right<c){
  100.                                 if(a[j][right]=='0')
  101.                                   a[j][right]='.';
  102.  
  103.                               }
  104.                               if(left>=0){
  105.                                 if(a[j][left]=='0')
  106.                                   a[j][left]='.';
  107.                               }
  108.                               if(down<r){
  109.                                 if(a[down][k]=='0')
  110.                                   a[down][k]='.';
  111.                               }
  112.                               if(up>=0){
  113.                                 if(a[up][k]=='0')
  114.                                   a[up][k]='.';
  115.                               }
  116.  
  117.  
  118.                           }
  119.                       }
  120.                   }
  121.  
  122.                     willblast0=1;
  123.                     willblast1=0;
  124.  
  125.                 }else if(willblast0==1){
  126.  
  127.                     for(int j=0;j<r;j++){
  128.                         for(int k=0;k<c;k++){
  129.  
  130.                             if(a[j][k]=='0'){
  131.  
  132.                                 right=k+1;
  133.                                 left=k-1;
  134.                                 up=j-1;
  135.                                 down=j+1;
  136.                                 a[j][k]='.';
  137.                               /*  System.out.println("*****************");
  138.                                 System.out.println("right:"+right);
  139.                                 System.out.println("left:"+left);
  140.                                 System.out.println("up:"+up);
  141.                                 System.out.println("down"+down);*/
  142.                                 if(right<c){
  143.                                   if(a[j][right]=='1')
  144.                                     a[j][right]='.';
  145.  
  146.                                 }
  147.                                 if(left>=0){
  148.                                   if(a[j][left]=='1')
  149.                                     a[j][left]='.';
  150.                                 }
  151.                                 if(down<r){
  152.                                   if(a[down][k]=='1')
  153.                                     a[down][k]='.';
  154.                                 }
  155.                                 if(up>=0){
  156.                                   if(a[up][k]=='1')
  157.                                     a[up][k]='.';
  158.                                 }
  159.  
  160.  
  161.                             }
  162.                         }
  163.                     }
  164.  
  165.  
  166.  
  167.                     willblast0=0;
  168.                     willblast1=1;
  169.                 }
  170.  
  171.                 /*-------------------------------------------------
  172.                 System.out.println("Debug:********detonate**********");
  173.                 //System.out.println("");
  174.                 for(int j=0;j<r;j++){
  175.                     for(int k=0;k<c;k++){
  176.                         System.out.print(a[j][k]);
  177.                     }
  178.                     System.out.println("");
  179.                 }
  180.                 System.out.println("Debug:******************");
  181.                 /*-----------------------------------------------------*/
  182.  
  183.             }
  184.  
  185.             if(i==n){
  186.                 //print
  187.  
  188.                 for(int j=0;j<r;j++){
  189.                     for(int k=0;k<c;k++){
  190.                         if(a[j][k]=='0'){
  191.                           System.out.print("0");
  192.                         }else if(a[j][k]=='1'){
  193.                           System.out.print("0");
  194.                         }else if(a[j][k]=='.'){
  195.                           System.out.print(".");
  196.                         }
  197.                     }
  198.                     System.out.println("");
  199.                 }
  200.                 return;
  201.  
  202.             }
  203.  
  204.  
  205.         }
  206.  
  207.  
  208.     }
  209. }
Add Comment
Please, Sign In to add comment