ABC109

A - ABC333

AとBが両方奇数なら問題ない。掛け算してmod2で終わり。

 

B - Shiritori

やるべきことはすべて問題文に書いてある。

 

まずは重複排除にsetを使おうとするが、文字列を文字のリストとして読み込んでいたため、リストのリストがsetに変換できずちょっと詰まる。

 

ゴリ押しするために読み込みの段階で文字列リストと文字列の両方の形式で別々のリストに格納する。

その後文字列のほうをsetに変換して長さ比較して重複チェック

重複チェックにおいて問題がおきなかったら、今度は文字のリストになっているほうでループを回して、前の単語の末尾と今の単語の先頭が合致しているかをチェックしていく。

しりとりの条件を満たしているならばYesを出力して終了。

 

C - Skip

とりあえず全部の座標(xi)をXとの距離に変換する。

あとはそれらの最大公約数を求めればいいことはすぐわかった。

とりあえずソートして重複排除して、そこからの簡略化で悩む。

とりあえず1個ずつ最小公約数とっていく方針でやってみて、TLEでるかなーって思ったらAC。

gcd部分はよそから持ってきたけど編集ミスってそこでWA。

 

D - Make Them Even

とりあえず全マス通る方針でいけそうな予感がしてくる。

条件をよく読んだところ、とりあえずすべての行を横にみていき、奇数が検出された場合は入れ替える、という処理を行う。その後右端の1列について同様の入れ替えを行えば、最大HxW-1回の変換ですべてのマスを網羅することが可能とわかった。

 

あとは愚直に書いてバグをとってAC

 

パフォは1423だけど水色までは上がらず。ARCとかに出てたときのやらかしが響いてるなあ。

 

こういう簡単な回でミスを出さないようにしたい。