結果
問題 |
No.179 塗り分け
|
ユーザー |
![]() |
提出日時 | 2015-04-21 13:21:52 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,038 bytes |
コンパイル時間 | 2,156 ms |
コンパイル使用メモリ | 77,472 KB |
実行使用メモリ | 54,900 KB |
最終ジャッジ日時 | 2024-10-02 14:14:34 |
合計ジャッジ時間 | 10,391 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 34 WA * 6 |
ソースコード
import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner koko = new Scanner(System.in); int h = koko.nextInt(); int w = koko.nextInt(); boolean [][] moto = new boolean[h][w]; boolean[][] color = new boolean[h][w]; String[] s = new String[h]; for(int i=0; i<h; i++){ s[i] = koko.next(); char[] ss = s[i].toCharArray(); for(int j=0; j<w; j++){ if(ss[j]=='.'){ moto[i][j]=true; color[i][j]=true; } } } boolean bflag = false; loop2: for(int i=0; i<h; i++){//ぬり平行移動(たて for(int j=0; j<w; j++){//ぬり平行移動(よこ if(i!=0||j!=0){ for(int a=0; a<h; a++){ for(int b=0; b<w; b++){ color[a][b]=moto[a][b]; } } for(int k=0; k+i<h; k++){ for(int l=0; l+j<w; l++){ if(!color[k][l]&&!color[k+i][l+j]){ color[k][l]=true; color[k+i][l+j]=true; } } } boolean flag = false; for(int m=0; m<h; m++){ for(int n=0; n<w; n++){ if(!color[m][n]){ flag = true; break; } } } if(!flag){ System.out.println("YES"); bflag = true; break loop2; } } } } if(!bflag){ System.out.println("NO"); } } }