Submission #845746

#TimeUsernameProblemLanguageResultExecution timeMemory
845746vjudge1Datum (COCI20_datum)C++17
20 / 50
1091 ms604 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl "\n" #define all(c) (c).begin(), (c).end() bool f(string &ck){ int n = ck.size(),ok = 1; for(int i = 0; i < n; i++){ if(ck[i] != ck[n - i - 1]){ return false; } } return true; } void solve(){ string s; cin >> s; while(37){ int d,m,y; d = (s[0] - '0') * 10 + s[1] - '0'; m = (s[3] - '0') * 10 + s[4] - '0'; y = (s[6] - '0') * 1000 + (s[7] - '0') * 100 + (s[8] - '0') * 10 + s[9] - '0'; int ok = 0; while(y / 100 % 10 > 3) y += 10,ok = 1; while(y % 10 > 3) y++,ok = 1; if(ok){ d = 1,m = 1; } if(m == 2){ if(y % 4 == 0){ if(d == 29){ d = 1; m++; } else d++; } else{ if(d == 28){ d = 1; m++; } else d++; } } else{ if((m % 2 && m <= 7) || (m % 2 == 0 && m > 7)){ if(d == 31){ d = 1; if(m == 12){ m = 1; y++; } else m++; } else d++; } else{ if(d == 30){ d = 1; if(m == 12){ m = 1; y++; } else m++; } else d++; } } string dd; if(d < 10) dd = '0' + to_string(d); else dd = to_string(d); string mm; if(m < 10) mm = '0' + to_string(m); else mm = to_string(m); string yy; if(y < 10) yy = string("0",3) + to_string(y); else if(y < 100) yy = string("0",2) + to_string(y); else if(y < 1000) yy = string("0",1) + to_string(y); else yy = to_string(y); string ck = dd + mm + yy; string fuck = ck.substr(0,2) + '.' + ck.substr(2,2) + '.' + ck.substr(4,4) + '.'; if(f(ck)){ cout << fuck << endl; return; } s = fuck; } } signed main(){ cin.tie(0); ios_base::sync_with_stdio(0); #ifndef ONLINE_JUDGE // freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; cin >> t; while(t--){ solve(); } return 0; }

Compilation message (stderr)

datum.cpp: In function 'bool f(std::string&)':
datum.cpp:8:20: warning: unused variable 'ok' [-Wunused-variable]
    8 |  int n = ck.size(),ok = 1;
      |                    ^~
#Verdict Execution timeMemoryGrader output
Fetching results...