diverta 2019 Programming Contest A - Consecutive Integers
少し更新が途絶えてしまいましたが復活しました、ねむーです。
今回はAtCoder(https://atcoder.jp/contests/diverta2019)にて開催されました、diverta 2019 Programming Contest A問題「A - Consecutive Integers」の問題と僕との戦闘記です。
0.はじめに
1.問題文
すぬけ君は 1 , 2 , … , N の N 個の整数を持っています。 すぬけ君はこれらの整数から K 個の整数を選んで高橋君にあげようと考えています。
連続する K 個の整数を選ぶ方法は何通りありますか?
2.制約
- 入力は全て整数
- 1 ≤ K ≤ N ≤ 50
3.入力例
- 入力
13 3
- 出力
11
4.初見の感想
- 最後尾がNなので連続するK個の数字を選ぼうとすると、最後尾をNとした時の先頭はN-K
- 連続する数字の先頭は1~N-kまでのN-k+1通り考えられる
5.学びポイント
- N-K+1は場合の数なので、0以下にならないよう注意する
6.コードと簡単な解説
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main(string[] args) { //入力のパース string[] input = Console.ReadLine().Split(' '); int N = int.Parse(input[0]); int K = int.Parse(input[1]); //N-K+1を計算 if (N - K + 1 >= 0) { Console.WriteLine(N - K + 1); } else { Console.WriteLine(0); } } }
7.最後に
これからも自分のペースでがんばります(^-^;