三井住友信託銀行プログラミングコンテスト2019 C - 100 to 105
毎日鍋を食べてしまいます、ねむーです。
今回はAtCoder(https://atcoder.jp/contests/sumitrust2019/tasks/sumitb2019_c)にて開催されました、三井住友信託銀行プログラミングコンテスト2019 C問題「C - 100 to 105」の問題と僕との戦闘記です。
0.はじめに
1.問題文
AtCoder 商店では、以下の 6 種類の品物が 1000000 個ずつ売られています。
- 1 個 100 円のおにぎり
- 1 個 101 円のサンドイッチ
- 1 個 102 円のクッキー
- 1 個 103 円のケーキ
- 1 個 104 円の飴
- 1 個 105 円のパソコン
高橋君は、合計価格がちょうど X 円となるような買い物をしたいです。そのような買い方が存在するか判定してください。 ただし、消費税は考えないものとします。
2.制約
- 1 ≤ X ≤ 100000
- X は整数
3.入力例
- 入力
615
- 出力
1
4.初見の感想
- 入力数字の100以上の値と100以下の値が重要
- 入力数字を100で割ったら何個ぐらい買ったかがわかる
- 100以下は購入個数×5以下まで再現できる
5.学びポイント
- 実は2000以上は必ず再現できる(20個以上買うので100円~105円のコンビネーションで再現できる)
6.コードと簡単な解説
using System; using System.Linq; using System.Collections.Generic; class Program { static void Main(string[] args) { int X = int.Parse(Console.ReadLine()); if (X >= 2000) { Console.WriteLine("1"); } else { if (X % 100 <= (X / 100) * 5) { Console.WriteLine("1"); } else { Console.WriteLine("0"); } } } }
7.最後に
こういうの気付くのどう訓練すればいいんでしょうね?