input & output

読書系ブログ→Pythonで競プロ過去問解説

【AtCoder】ABC107 B - Grid Compression

問題

atcoder.jp

考え方

1 ≦ H, W ≦ 100 の条件より、計算量は多くないので全探索が可能。

解答例のように row(行), col(列)の変数を False で埋めておいて、一度でも # が出たら該当箇所を True に変更することで、最後の出力がやりやすくなる。

解答例

ABC107 B - Grid Compression

【AtCoder】ABC109 B - Shiritori

問題

atcoder.jp

考え方

受け取った W に対して、

  1. それ以前に出た単語と一致しているか?
  2. 直前に出た単語の末尾と一致しているか?

を判定してあげれば良い。

そのために、 W を受け取ったら、

  1. 単語リストに加える(解答例では l に加えている)
  2. W の末尾を情報として残しておく(解答例では s に残している)

 

解答例

ABC109 B - Shiritori

【AtCoder】ABC110 B - 1 Dimensional World's Tale

問題

atcoder.jp

考え方

 

問題の条件

  • X<ZY
  • x1,x2,...,xN<Z
  • y1,y2,...,yMZ

より、X を加えた x 帝国軍、Y を加えた y 帝国軍を昇順ソートし、

x 帝国軍の最小値〜最大値の間に y 帝国軍の最小値が含まれていなければ、 No War となる。

解答例

ABC110 B - 1 Dimensional World's Tale

【AtCoder】ABC111 B - AtCoder Beginner Contest 111

問題

atcoder.jp

考え方

N を str 型で扱えば N[ i ] とスライスできる。これを活かして、

  1. input は int で受ける
  2. while ループ内で、 n = str(N) として文字列に変換し、
  3. 3桁が全て同じか判定する。
  4. 全て同じなら、その時点の N を出力する。
  5. 異なるなら、N を更新 ( += 1 )して while ループを続ける。

という感じで解ける。

解答例

ABC111 B - AtCoder Beginner Contest 111