ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

diverta 2019 Programming Contest A - Consecutive Integers

少し更新が途絶えてしまいましたが復活しました、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/diverta2019)にて開催されました、diverta 2019 Programming Contest A問題「A - Consecutive Integers」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

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.最後に

これからも自分のペースでがんばります(^-^;