=comment このコードはチートで、 ####### ###...# ###.#.# #...#.# #.###.# #.....# ####### このパターン(左上が凹んでいる)と、 ####### #.....# #.###.# #.#...# #.#.### #...### ####### このパターン(右下が凹んでいる)を正しく判定しない。 =cut <>; for(<>,$z){ y/.\n/ /d; if($c&1){ if($_ eq$p){ ++$e; }elsif($_ eq$p=~s/ #*/$&=~y,#, ,r/er||/ /<$p=~/ /&&$e){ ++$c; } elsif($_^=$p=~y/ #/AD/r,/^g*(ad*g*)*$/){ $d+=s/a(d+)/$1a/g; y/adg/ #/; $p=$_; } else{ $c=9; } } else{ if(s/^#* \K *(?= #*$)/$&=~y, ,#,r/e){ $p=$_; ++$c; } elsif(/ /){ $c=9; } } } print$c==2&$d<2?YES:NO