結果

問題 No.721 Die tertia (ディエ・テルツィア)
ユーザー d_seid_sei
提出日時 2020-03-15 09:20:56
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,789 bytes
コンパイル時間 980 ms
コンパイル使用メモリ 99,076 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-05-03 13:10:26
合計ジャッジ時間 1,808 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 2 ms
5,376 KB
testcase_11 AC 2 ms
5,376 KB
testcase_12 AC 2 ms
5,376 KB
testcase_13 AC 2 ms
5,376 KB
testcase_14 AC 2 ms
5,376 KB
testcase_15 AC 2 ms
5,376 KB
testcase_16 AC 2 ms
5,376 KB
testcase_17 AC 2 ms
5,376 KB
testcase_18 AC 2 ms
5,376 KB
testcase_19 AC 2 ms
5,376 KB
testcase_20 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<math.h>
#include<iomanip>
#include<set>
#include<numeric>
#include<cstring>
#include<cstdio>
#include<functional>
#include<bitset>
#include<limits.h>
#include<cassert>
#include<iterator>
#include<complex>
#include<stack>
#include<sstream>
using namespace std;
typedef  long long int lint;
typedef pair<int, int> IP;
typedef pair<lint, lint> LLP;
typedef pair<char, char>CP;
#define rep(i, n) for (int i = 0; i < n; i++)
#define repr(i, n) for (int i = n; i >= 0; i--)
#define sort(v) sort((v).begin(), (v).end())
#define reverse(v) reverse((v).begin(), (v).end())
#define upper(v,hoge) upper_bound(v.begin(),v.end(),hoge)
#define lower(v,hoge) lower_bound(v.begin(),v.end(),hoge)
#define llower(v,hoge) *lower_bound(v.begin(), v.end(), hoge)
#define lupper(v,hoge) *upper_bound(v.begin(), v.end(), hoge)



int main() {
	string S;
	cin >> S;
	int Y = stoi(S.substr(0, 4));
	int M = stoi(S.substr(5, 2));
	int D = stoi(S.substr(8, 2));
	D += 2;
	//M繰り上げ
	if (M == 2) {
		//2月
		if (Y % 4 == 0 && (Y % 100 != 0 || Y % 400 == 0)) {
			//うるう年(29)
			if (D > 29) {
				D = D - 29;
				M++;
			}
		}
		else {
			if (D > 28) {
				D = D - 28;
				M++;
			}
		}
	}
	else if (M == 4 || M == 6 || M == 9 || M == 11) {
		//(30)
		if (D > 30) {
			D = D - 30;
			M++;
		}
	}
	else {
		//(31)
		if (D > 31) {
			D = D - 31;
			M++;
		}
	}
	//Y繰り上げ
	if (M > 12) {
		M = M - 12;
		Y++;
	}
	
	ostringstream A;
	A << setfill('0') << setw(4) << Y;
	string a = A.str();

	ostringstream B;
	B << setfill('0') << setw(2) << M;
	string b = B.str();

	ostringstream C;
	C << setfill('0') << setw(2) << D;
	string c = C.str();
	
	cout << a << '/' << b << '/' << c << endl;
}
0