- 青と白のタイルがグリッド状に敷き詰められている。青のとこだけ全部2x2の大きい赤タイルに置き換えたい。全部変えられる?
- こういうやるだけ問題(シミュレーション)が 10 分ちょいでできるようになったのは大きな進歩である。。
- 残り時間たっぷりの状態で残りの2問に取り掛かれるのは精神的にもよいです。
int main()
{
int T;
cin>>T;
REP(t, T)
{
int R,C;
cin>>R>>C;
string v[R];
REP(y, R)
{
cin>>v[y];
}
int ok=1;
REP(y, R)
{
REP(x, C)
{
if(v[y][x]=='#')
{
if(y==R-1||x==C-1||v[y][x+1]!='#' || v[y+1][x]!='#' || v[y+1][x+1]!='#')
{
ok=0;
goto END;
}
v[y][x]=v[y+1][x+1]='/';
v[y+1][x]=v[y][x+1]='\\';
}
}
}
END:;
cout<<"Case #"<<t+1<<":"<<endl;
if(ok)
{
REP(y, R)
{
cout<<v[y]<<endl;
}
}
else cout<<"Impossible"<<endl;
}
return 0;
}