Submission #845296

# Submission time Handle Problem Language Result Execution time Memory
845296 2023-09-06T13:03:43 Z vjudge1 Datum (COCI20_datum) C++17
0 / 50
1000 ms 348 KB
#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';

		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);
		
		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(){

	#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

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 time Memory Grader output
1 Execution timed out 1061 ms 348 KB Time limit exceeded
2 Execution timed out 1053 ms 348 KB Time limit exceeded
3 Execution timed out 1020 ms 344 KB Time limit exceeded
4 Execution timed out 1050 ms 348 KB Time limit exceeded
5 Execution timed out 1039 ms 344 KB Time limit exceeded
6 Execution timed out 1068 ms 348 KB Time limit exceeded
7 Execution timed out 1069 ms 348 KB Time limit exceeded
8 Execution timed out 1046 ms 348 KB Time limit exceeded
9 Execution timed out 1067 ms 348 KB Time limit exceeded
10 Execution timed out 1022 ms 344 KB Time limit exceeded