解説放送
問題についてざっくりと。
午前、午後合わせて10回の営業がある。
ただし、午前か午後、必ずどちらかに営業しなければならない。
ほかのお店も営業したりしなかったりしていて、他のお店と予定がぶつかると、それぞれどれくらいの利益になるのかを考えつつ、最大の利益が出せるように営業時間を決めるというはなし。
結論。総当たり。
結局if(a~)あたりがよくわからぬ…
解説放送
午前、午後合わせて10回の営業がある。
ただし、午前か午後、必ずどちらかに営業しなければならない。
ほかのお店も営業したりしなかったりしていて、他のお店と予定がぶつかると、それぞれどれくらいの利益になるのかを考えつつ、最大の利益が出せるように営業時間を決めるというはなし。
結局if(a~)あたりがよくわからぬ…
ハーシャッド数が分からず、ググったはいいが解き方がわからなかった問題。
例えば、195 は各位の和が 1 + 9 + 5 = 15 であり、15 は 195 の約数であるので 195 はハーシャッド数である
あ、なんか聞いたことあるような…?
博士の愛した数式だったかな?
123456を全部足すと、21になる
ということで、まずは全部足す。
足した合計21で元の数123456を割ったあまりがぴったりだと、ハーシャッド数であるといえる。
まず、一の位しかない数字(=10未満の数字)はそのまま使える。
他をどうするのか。
さっきの123456を見てみると、実は
12345 = 123456 / 10
6 = 123456 % 10
ということがわかる。
これにより、一番左端の桁の数字を取り出すことができる。
つまり、再起関数を使ってすべての桁の数を取り出し、計算することができる。
JavaScriptだったらそうしていたかな…
ああ、そうすればよかった…
AtCoderの解説動画も見つつ。AtCoder Beginner Contest 080 解説放送 - YouTube
簡単に解ける問題。
やることはこれだけ。
何に時間かかったっけかな…?忘れちゃった…
実行時間0msという謎コードがあったのでのぞいてみる。
scanfで入力を受け付け、printfで出力。 比較は…std::min()使っていますね。標準は基本早い子(例外あり)なので使ったほうがいいようだ。 それとも、私の場合は三項演算子がまずかったのだろうか…?多分そんな気がする。
とにかく、悩むところじゃない。
2017年12月8日 21:00。
「競技プログラミングの世界へようこそ!」の夜。
AtCoder Beginner Contest 080が始まりました。 AtCoder Beginner Contest 080 - AtCoder
結果は惨敗…
直積で配列を作りたいのだけれどさっぱりわからん。 後で関数を調べないと…(ほかに方法があれば教えていただきたい) #Python #NumPy https://t.co/kBC5c7ZhSg
— ムーナナ (@murnana) 2017年10月30日
長さlengthの2つの1次元配列から、length×2の配列(行列?)を作りたかったので。 イメージ的にはこう。
import numpy a = numpy.arange(start=0.0,stop=1.0,いくつか) b = numpy.arange(start=0.0,stop=1.0,いくつか) # ほにゃほにゃ x = # [[0.0,0.0],[0.0,1.0],[1.0,0.0],,,]
さぱらん*1のでコード書いてみた。
Python3です。
[[ 0. 0. ]
[ 0. 0.5]
[ 0. 1. ]
[ 0.5 0. ]
[ 0.5 0.5]
[ 0.5 1. ]
[ 1. 0. ]
[ 1. 0.5]
[ 1. 1. ]]
が出力されればおk。
片方の配列の長さが違ってもできる。
次元が違ってもできる(ただしconcatenateの第一引数の、一番最初の配列に合わせるようだ)。
*1:テイルズオブベルセリア内でマギルゥというキャラクターがよく使う言葉。さっぱりわからんの略。
Written - テーマ ストアというやつです。 Pro版ではないので、広告が煩わしいなーと思い続けていました。
いつかはGithub Pageにしたい。でもまだ静的に作る知識がない…