jj1gujのブログ

アイコン画像は音速の奇行子 様よりいただきました

三井住友信託銀行プログラミングコンテスト2019 参加

三井住友コン参加しました.
問題はこちら
結果はこちら

いつもとかわらず3完でした(4完したかった…) 今回はFortran、Python3、C++と全て違う言語で出しました~

A問題

Fortranで提出しました.
入力された2つの月が異なるとき末日になるのでこれで実装し提出しました.

B問題

Python3で提出しました.
ごちゃごちゃ考えるのが面倒だったのでとりあえず1円から N 円までループを回して、税込価格が N円と等しくなる iが存在するときにはこれを出力し、ないときは':('と出力しました.

C問題

C++で提出しました.
入力された価格 Xを100で割った商が買える品物の個数だと考えました. そのため、あとは Xの下二桁を作るには少なくとも何種類の品物を買えばよいか考え( X \equiv 0\ mod 5なら Xを5で割った商、それ以外なら Xを5で割った商に1を加えたもの)、これが買える品物の個数を超えていたときには'0'、超えていないときには'1'を出力するようにしました.

D問題

ずっと考えていたのですが、時間切れで最後までわかりませんでした.
とりあえずコンビネーション計算を使えば良いと考えていて、あとは重複する組み合わせをどうやって排除するかでずっと悩んでいました(最終的にわからずに諦めてずっとついったやってた).

D問題、解説に書いてあった全探索の解法が頭良すぎてずっと泣いてました.
どうやったらあんな天才解法思いつくんだろう...
あとはF問題が解説読んでみた感じ割と簡単そうだったのでDを捨ててFでずっと考えてたほうが良かったかもですね...
とりあえず今回レートがちょっと回復したので学年変わるまでに緑色になれるよう頑張りたいと思います.