Yuulis.log

Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 331 A - Tomorrow | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 25

問題概要

1年が1月から  M 月までの  M か月、1つの月が1日から  D 日の  D 日間からなる暦がある。この暦の下で  y m d 日の翌日の日付 (年月日) を求めよ。

制約

  • 入力はすべて整数。
  •  1000 \leq y \leq 9000
  •  1 \leq m \leq M \leq 99
  •  1 \leq d \leq D \leq 99

考察

筆算の繰り上がりのような要領で答えを求めていく。

  •  d 1 を足す。
    • もし  d \gt D ならば  m 1 増やし、  d = 1 とする。
      • もし  m \gt M ならば  y 1 増やし、  m = 1 とする。

コード

#include <bits/stdc++.h>
using namespace std;

// ======================================== //

int main()
{
    int M, D, y, m, d;
    cin >> M >> D >> y >> m >> d;

    d++;

    if (d > D)
    {
        d = 1;
        m++;

        if (m > M)
        {
            m = 1;
            y++;
        }
    }

    cout << y << " " << m << " " << d << endl;
}

atcoder.jp

実装時間 : 5分以内