結果

問題 No.179 塗り分け
ユーザー YamaKasa
提出日時 2018-07-26 18:41:32
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,182 bytes
コンパイル時間 2,179 ms
コンパイル使用メモリ 76,756 KB
実行使用メモリ 42,896 KB
最終ジャッジ日時 2024-07-01 03:22:49
合計ジャッジ時間 14,537 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3 WA * 3
other AC * 25 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int H = scan.nextInt();
		int W = scan.nextInt();
		char c[][] = new char[H][W];
		for(int i = 0; i < H; i++) {
			String s = scan.next();
			for(int j = 0; j < W; j++) {
				c[i][j] = s.charAt(j);
			}
		}
		scan.close();
		boolean [][]s = new boolean[H][W];
		boolean flag = false;
		for(int dy = -H; dy <= H; dy++) {
			for(int dx = -W; dx <= W; dx++) {
				if(dy == 0 && dx == 0) {
					continue;
				}



				for(int i = 0; i < H; i++) {
					for(int j = 0; j < W; j++) {
						s[i][j] =false;
					}
				}

				for(int y = 0; y < H; y++) {
					for(int x = 0; x < W; x++) {
						if(c[y][x] == '#' && s[y][x] == false) {
							s[y][x] = true;
							if(y + dy < 0 || y + dy >= H || x + dx < 0 || x + dx >= W) {
								flag = false;
								break;
							}

							if(c[y + dy][x + dx] == '#' && s[y + dy][x + dx] == false) {
								s[y + dy][x + dx] = true;
							}else {
								flag = false;
								break;
							}
						}

					}
				}
			}
		}
		if(flag) {
			System.out.println("YES");
		}else {
			System.out.println("NO");
		}

	}
}
0