Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- import java.text.*;
- import java.math.*;
- import java.util.regex.*;
- public class Solution {
- public static void main(String[] args) {
- /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
- Scanner in = new Scanner(System.in);
- int r = in.nextInt();
- int c = in.nextInt();
- int n = in.nextInt();
- char a[][] = new char[r][c];
- String s[] = new String[r];
- int willblast1 = 0;
- int willblast0 = 1; // 0 will blast
- for(int i=0;i<r;i++){
- s[i]=in.next();
- s[i].trim();
- }
- for(int i=0;i<r;i++){
- for(int j=0;j<c;j++){
- a[i][j] = s[i].charAt(j);
- }
- }
- for(int i=2;i<=n;i++){
- if(i%2==0){
- //arrange
- if(willblast0==1){
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- if(a[j][k]=='.'){
- a[j][k]='1';
- }
- }
- }
- }else if(willblast1==1){
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- if(a[j][k]=='.'){
- a[j][k]='0';
- }
- }
- }
- }
- /*------------------------------------------------
- System.out.println("Debug:************arrange******");
- //System.out.println("");
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- System.out.print(a[j][k]);
- }
- System.out.println("");
- }
- System.out.println("Debug:******************");
- /*-----------------------------------------------------*/
- }
- if(i%2==1){
- //detonate
- int right,left,up,down;
- if(willblast1==1){
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- if(a[j][k]=='1'){
- right=k+1;
- left=k-1;
- up=j-1;
- down=j+1;
- a[j][k]='.';
- /*System.out.println("*****************");
- System.out.println("right:"+right);
- System.out.println("left:"+left);
- System.out.println("up:"+up);
- System.out.println("down"+down);*/
- if(right<c){
- if(a[j][right]=='0')
- a[j][right]='.';
- }
- if(left>=0){
- if(a[j][left]=='0')
- a[j][left]='.';
- }
- if(down<r){
- if(a[down][k]=='0')
- a[down][k]='.';
- }
- if(up>=0){
- if(a[up][k]=='0')
- a[up][k]='.';
- }
- }
- }
- }
- willblast0=1;
- willblast1=0;
- }else if(willblast0==1){
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- if(a[j][k]=='0'){
- right=k+1;
- left=k-1;
- up=j-1;
- down=j+1;
- a[j][k]='.';
- /* System.out.println("*****************");
- System.out.println("right:"+right);
- System.out.println("left:"+left);
- System.out.println("up:"+up);
- System.out.println("down"+down);*/
- if(right<c){
- if(a[j][right]=='1')
- a[j][right]='.';
- }
- if(left>=0){
- if(a[j][left]=='1')
- a[j][left]='.';
- }
- if(down<r){
- if(a[down][k]=='1')
- a[down][k]='.';
- }
- if(up>=0){
- if(a[up][k]=='1')
- a[up][k]='.';
- }
- }
- }
- }
- willblast0=0;
- willblast1=1;
- }
- /*-------------------------------------------------
- System.out.println("Debug:********detonate**********");
- //System.out.println("");
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- System.out.print(a[j][k]);
- }
- System.out.println("");
- }
- System.out.println("Debug:******************");
- /*-----------------------------------------------------*/
- }
- if(i==n){
- //print
- for(int j=0;j<r;j++){
- for(int k=0;k<c;k++){
- if(a[j][k]=='0'){
- System.out.print("0");
- }else if(a[j][k]=='1'){
- System.out.print("0");
- }else if(a[j][k]=='.'){
- System.out.print(".");
- }
- }
- System.out.println("");
- }
- return;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment