結果
問題 | No.179 塗り分け |
ユーザー |
|
提出日時 | 2020-05-08 20:21:08 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 767 bytes |
コンパイル時間 | 2,672 ms |
コンパイル使用メモリ | 192,828 KB |
最終ジャッジ日時 | 2025-01-10 07:45:46 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 34 WA * 6 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:8:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | int h,w; scanf("%d%d",&h,&w); | ~~~~~^~~~~~~~~~~~~~ main.cpp:10:23: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 10 | rep(i,h) scanf("%s",B[i]); | ~~~~~^~~~~~~~~~~
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; int main(){ int h,w; scanf("%d%d",&h,&w); char B[50][51]; rep(i,h) scanf("%s",B[i]); rep(t,4){ rep(dy,h+1) rep(dx,w+1) if(dy!=0 || dx!=0) { bool ok=true; rep(i,h) if(ok) rep(j,w) if(ok) { if(i-dy>=0 && j-dx>=0) continue; int y=i,x=j,cnt=0; while(y<h && x<w){ if(B[y][x]=='#') cnt++; else{ if(cnt!=0 && cnt!=2){ ok=false; break; } cnt=0; } y+=dy; x+=dx; } if(cnt!=0 && cnt!=2) ok=false; } if(ok) return puts("YES"),0; } if(t%2==0){ rep(i,h) rep(j,w/2) swap(B[i][j],B[i][w-1-j]); } else{ rep(i,h/h) rep(j,w) swap(B[i][j],B[h-1-i][j]); } } puts("NO"); return 0; }