Submission #998972

#TimeUsernameProblemLanguageResultExecution timeMemory
998972vjudge1Datum (COCI20_datum)C++17
20 / 50
328 ms600 KiB
#include<bits/stdc++.h> using namespace std; bool check(string s) { int m[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(stoi(s) % 4 == 0) m[1] = 29; string MM; MM += s[1], MM += s[0]; if(stoi(MM) <= 0 || stoi(MM) > 12) return false; int idx = stoi(MM) - 1; string DD; DD += s[3], DD += s[2]; if(stoi(DD) <= 0 || stoi(DD) > m[idx]) return false; return true; } void solve() { string date; cin >> date; string DM = date.substr(0, 2) + date.substr(3, 2); string Y = date.substr(6, 4); reverse(DM.begin(), DM.end()); if(DM < Y && check(Y)) { cout << Y[3] << Y[2] << '.' << Y[1] << Y[0] << '.' << Y << ".\n"; return; } while(true) { int s = stoi(Y) + 1; Y = to_string(s); while(Y.size() < 4) Y = '0' + Y; if(check(Y)) break; } cout << Y[3] << Y[2] << '.' << Y[1] << Y[0] << '.' << Y << ".\n"; } int main() { int t; cin >> t; while(t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...