公式
A - Tomorrow 解説 by kyopro_friends
初心者の方へ
- プログラミングの学習を始めたばかりで何から手をつけるべきかわからない方は、まずは practice contest の問題A「Welcome to AtCoder」をお試しください。言語ごとに解答例が掲載されています。
- また、プログラミングコンテストの問題に慣れていない方は、 AtCoder Beginners Selection の問題をいくつか試すことをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
答えは次の通りです。
- \(y\) 年 \(m\) 月 \(d\) 日が年末であれば\(y+1\) 年 \(1\) 月 \(1\) 日
- \(y\) 年 \(m\) 月 \(d\) 日が年末でない月末であれば \(y\) 年 \(m+1\) 月 \(1\) 日
- \(y\) 年 \(m\) 月 \(d\) 日が月末でなければ \(y\) 年\(m\) 月 \(d+1\) 日
これらのどれにあたるかどうかを if 文を用いて判定しましょう。
実装例(Python)
M, D = map(int,input().split())
y, m, d = map(int,input().split())
if d == D and m == M:
print(y+1, 1, 1)
elif d == D:
print(y, m+1, 1)
else:
print(y, m, d+1)
実装例(C++)
#include<bits/stdc++.h>
using namespace std;
int main(){
int M, D, y, m, d;
cin >> M >> D >> y >> m >> d;
if(m==M && d==D){
cout << y+1 << ' ' << 1 << ' ' << 1 << endl;
}else if(d==D){
cout << y << ' ' << m+1 << ' ' << 1 << endl;
}else{
cout << y << ' ' << m << ' ' << d+1 << endl;
}
}
投稿日時:
最終更新: