結果
問題 |
No.721 Die tertia (ディエ・テルツィア)
|
ユーザー |
|
提出日時 | 2021-09-05 06:53:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 947 bytes |
コンパイル時間 | 1,899 ms |
コンパイル使用メモリ | 187,376 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-21 17:49:38 |
合計ジャッジ時間 | 2,876 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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); }