AtCoder APG4bをPythonで解く(Ex16~18)

投稿日: 

Atcoder Python

B!
Daniel AgreloによるPixabay(https://pixabay.com/)からの画像

こんにちは, Shinoryoです.

今回はC++入門 AtCoder Programming Guide for beginners(APG4b)を, Pythonで無理やり解いてみた結果を書き連ねていこうと思います.

EX16 - 隣り合う同じ値を探す

問題にあるプログラムをPythonで記述すると, 次のようになるでしょうか.

隣り合う数値が等しいかどうかを判定するプログラムを, 入力した数値のリストの「$0$番目と$1$番目」「$1$番目と$2$番目」「$2$番目と$3$番目」「$3$番目と$4$番目」に対して繰り返せばよいでしょう. for文での繰り返しがrange(4)となることに注意してください. 隣り合う数値が等しくなったらbool型の変数ansにTrueを代入することで, 隣り合う数値があったかどうかを記録しています.

EX17 - 果物屋さんでお買い物

問題にあるプログラムをPythonで記述すると, 次のようになるでしょうか.

2重ループを使えば次のように書けます. $i$番目のリンゴと$j$番目のパイナップルの値段の合計を求めて, それが$S$と一致するかどうかを判別します.

EX18 - ゲーム大会

問題にあるプログラムをPythonで記述すると, 次のようになるでしょうか.

2次元配列の入力は, 「data = [[int(x) for x in input().split()] for _ in range(m)]」のように, 今までの入力受付を二重にすることで受け付けられます. また, 全ての要素が「-」である2次元配列を「ans = [["-"]*n for i in range(n)]」で作成しています. 途中の「data[i][0] -= 1」等では, Pythonなどのプログラミング言語の要素の番号が0から始まるので, それに合わせて入力データを補正しています. 各行の行末に空白を含まないことに注意して, 出力の部分はif文で場合分けを行ってください.

参考にしたサイト等

関連記事

Search

About Me

自分の写真
理系大学生でした. Bloggerを利用して発信を行っています.

Labels

Blog Archives