結果

問題 No.179 塗り分け
ユーザー nxterunxteru
提出日時 2017-06-10 11:00:47
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 8 ms / 3,000 ms
コード長 1,263 bytes
コンパイル時間 235 ms
コンパイル使用メモリ 33,396 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-23 14:43:13
合計ジャッジ時間 1,358 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 6
other AC * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
int main(void){
   int n,m,i,j,k,l,g,h;
   scanf("%d%d",&n,&m);
   int a[n][m],p=0;
   for(i=0;i<n;i++){
       for(j=0;j<m;j++){
           char x;
           scanf(" %c",&x);
           if(x=='#')
           a[i][j]=1;
           else
           a[i][j]=0;
           p=a[i][j]?1:p;
       }
   }
   int x=0;
    for(i=0;i<n&&x==0;i++){
        
        for(j=-m+1;j<m&&x==0;j++){
            if(i==0&&j==0)
            continue;
            
            int y=1;
            int b[n][m];
            for(g=0;g<n;g++){
                for(h=0;h<m;h++){
                    b[g][h]=a[g][h];
                }
            }
            for(k=0;k<n&&y;k++){
                for(l=0;l<m&&y;l++){
                    if(b[k][l]==1){
                            if(k+i<n&&l+j<m&&0<=l+j){
                              if(b[k+i][l+j]==1){
                                 b[k+i][l+j]=0;
                               }else{
                                   y=0;
                               }
                            }else{
                                y=0;
                            }
                           
                    }
                }
            }
            x=y;
        }
    }
    puts(x&&p?"YES":"NO");
    
}
0