第9話 お年玉
はじめに
こちらでは,競技プログラミングコンテストサイトAtCoderの常設コンテスト「AtCoder Beginners Selection」に筆者が挑戦します.記事には,筆者が作成したコード(使用言語はPython)と簡単な解説を載せますので,プログラミング初心者の方の参考になれば幸いです.なお,この記事では,Pythonの詳細な文法については解説致しませんので,そちらに関しては関連記事および文献等を参照して頂きたく存じます.
問題(ABC085C - Otoshidama)
日本でよく使われる紙幣は,10000 円札,5000 円札,1000 円札です.以下,「お札」とはこれらのみを指します.
青橋くんが言うには,彼が祖父から受け取ったお年玉袋にはお札が N 枚入っていて,合計で Y 円だったそうですが,嘘かもしれません.このような状況がありうるか判定し,ありうる場合はお年玉袋の中身の候補を一つ見つけてください.なお,彼の祖父は十分裕福であり,お年玉袋は十分大きかったものとします.
コード(解答例)
N, Y = map(int, input().split())
for i in reversed(range(N+1)):
for j in reversed(range(N+1-i)):
k = N-i-j
if 10000*i + 5000*j + 1000*k == Y:
print(i, j, k)
exit()
print(-1, -1, -1)
解説
特にありません.お札の枚数に基づいて,全パターンを試しています.