답안 #845281

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
845281 2023-09-06T12:57:56 Z vjudge1 Datum (COCI20_datum) C++17
40 / 50
1000 ms 424 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]){
			ok = 0;
		}
	}
	return ok;
}

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 = to_string(y);
		while(yy.size() < 4){
			yy = '0' + yy;
		}
		
		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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Execution timed out 1089 ms 348 KB Time limit exceeded
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 196 ms 344 KB Output is correct
7 Correct 231 ms 348 KB Output is correct
8 Correct 263 ms 424 KB Output is correct
9 Correct 251 ms 348 KB Output is correct
10 Execution timed out 1063 ms 348 KB Time limit exceeded