どうもこんにちは、Megです。
このチャプターでは、PythonでAtCoder Beginner Contest 228 の解説を行っていきます。
A - On and Off
問題はこちら。
コードは以下です!自分の提出はこちら。
A.py
S, T, X = map(int, input().split())
if S > T and S > X:
T += 24
X += 24
elif S > T and S <= X:
T += 24
if S <= X < T:
print("Yes")
else:
print("No")
コード解説
しかし下図2つのような位置関係の時、多少の数値調整が必要です。
上図のように
コード上ではこちらの部分に当たります。
if S > T and S > X:
T += 24
X += 24
参考
B - Takahashi's Secret
問題はこちら。
コードは以下です!自分の提出はこちら。
B.py
N, X = map(int, input().split())
As = list(map(int, input().split()))
cnt = 0
knows = [False] * N
while not knows[X-1]:
knows[X-1] = True
X = As[X-1]
cnt += 1
print(cnt)
コード解説
参考
C問題以降
誠意記事作成中です…!
GitHub
今回のコンテストを含む、AtCoderに関する全てのコードをGitHubで管理しています。
気になる方は以下のURLから参照してみてください。