ラッキー空間空間

AtCoderブログ

AtCoder Grand Contest 038

 700点問題は解ける気しないがA早解きすれば入水できるかもしれないのでとりあえず参加。提出してWAのまま沈没が一番怖い。

 

A問題

 問題文を読んで列の交換、行の交換ができることに気づく。フィーリングで

111000・・・

111000・・・

・・・・・・・・・

・・・・・・・・・

みたいに1を左上に寄せてみる。ただしこれだと右側と下側が0だけになってしまうのでダメ。ここでなんとなく右下にも1を詰めてみる。テストケース1でいうと

100

011

011

みたいになる。いける!だけどこれでどこまでいけるのかわからないのでテストケース2もやってみる。

00000

になる。いけない><。ここでA,Bが逆だったことに気づく。頭の中で考えてみたら全ケースこれでいけるので出す。なんか出力を間違えて数字と数字の間にスペースを入れてたので1WA。

B~D問題

とりあえず目を通したけど無理そう。ここで粘ってもしょうがなさそうだし暇つぶし程度にE,Fを見ることにする。

E,F問題

Eは見た瞬間ヤバいとわかったので無視。F問題はなんとなくP[P[i]]=iになる組は入れ替え可能なので入れ替えたほうが良くなるなら入れ替える、という方針で一応やってみるがテストケース2が合わない。順列の3つの要素A,B,Cがあった時にB,C,Aに入れ替えることが可能なケースを見逃してた。これは有向グラフを張って閉路を検出すればできる気がしたがそんな能力はないし8の字とかになってたら処理できないので諦める。冷静に考えてF問題なんて見てる暇あったらB問題やったほうがいいことに気づいたのでB問題に戻ったけどわからないので順位表眺めながらのんびりしてコンテストを終える。