結果
問題 | No.721 Die tertia (ディエ・テルツィア) |
ユーザー |
![]() |
提出日時 | 2021-11-28 10:19:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 947 bytes |
コンパイル時間 | 1,936 ms |
コンパイル使用メモリ | 187,836 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-01 02:28:05 |
合計ジャッジ時間 | 2,812 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#define _GLIBCXX_DEBUG #include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; int Y = stoi(S.substr(0,4)); int M = stoi(S.substr(5,7)); int D = stoi(S.substr(8,10)); switch(M){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(30 <= D){ if(M == 12){ Y++; M = 0; } M++; D -= 29; }else{ D += 2; } break; case 4: case 6: case 9: case 11: if(29 <= D){ M++; D -= 28; }else{ D += 2; } break; case 2: if(Y%400 == 0 or (Y%100 != 0 and Y%4 == 0)){ if(28 <= D){ M++; D -= 27; }else{ D += 2; } break; }else{ if(27 <= D){ M++; D -= 26; }else{ D += 2; } } } printf("%2d/%02d/%02d\n", Y, M, D); }