科学の箱

科学・IT・登山の話題

AtCoder Python

蟻本 P42 硬貨の問題

投稿日:

貪欲法の基本

  1. その時点で最善の手を尽くす
  2. 尽くした結果を目的とする値に反映させる。
  3. 次善の手になるようにする。
  4. 1に戻る

硬貨の問題

A=int(input())
*C,=map(int,input().split())
coin=[1,5,10,50,100,500]

ans=0

for i in range(5,-1,-1):
    t=min(A//coin[i],C[i])
    A-=t*coin[i]
    ans+=t
print(ans)

 

気を付けるところ

  • 制限を考慮して、反映させる(minのところ)
  • 切り捨て a//coin[i]

メタ情報

inarticle



メタ情報

inarticle



-AtCoder, Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

pythonでjanomeを使う

PythonでMecabを利用して形態要素解析に挑戦したところMecabが原因不明のエラーを引き起こしいったん断念。 代わりにJanomeを導入してみた。 Janomeは下記からインストーラを取得する …

no image

数字、計算、文字列を画面出力

Hello Worldができたので、いろいろな出力を試してみる。 出力はprint関数を使えばよい。 まずは数値から試してみる。数値は文字列と違い引用符で囲む必要はない。画面に直接表示するので変数は使 …

no image

tensorflowをpipでインストールするときのオプション

tensorflow環境を構築するときにはpipを利用すると簡単である。pipの簡単な使い方としてはinstallオプションを指定すればよい。 pip install tensoflow しかしこのオ …

no image

生成した配列をグラフで確認

生成した配列を可視化するためにはmatplotlibが利用できる。 ここでは簡単に可視化するための使い方を見てみる。 まずはnumpyとmatplolibモジュールを読み込む。以下ではnumpyはnp …

no image

配列を利用した四則演算とuniversal関数

四則演算 import numpy as np arr = np.arange(1,11) arr arr + arr arr * arr arr – 100 arr – arr [/cde] np. …

2020年10月
月 火 水 木 金 土 日
« 9月   1月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

side bar top



アーカイブ

カテゴリー