求助 WA#3 感觉没问题啊
查看原帖
求助 WA#3 感觉没问题啊
835857
91xrz楼主2023/3/20 23:16
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int n,ans;
string c;
int x1[13][2]{ {0,0}, {31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31} };
bool check_year(int x)
{
	return (x % 4 == 0 && x % 100 != 0 || x % 400 == 0);
}
bool check_day(int x)
{
	int year = x / 10000;
	int month = x % 10000 / 100;
	int day = x % 100;
	if (month == 0 || month > 12) return false;
	if (day == 0 || day > x1[month][check_year(year)])  return false;
	//if (year / 1000 != year % 100 / 10 || year % 1000 / 100 != year % 10) return false;
	return true;

}
bool check_day1(int x)
{
	int year = x / 10000;
	int month = x % 10000 / 100;
	int day = x % 100;
	if (month == 0 || month > 12) return false;
	if (day == 0 || day > x1[month][check_year(year)])  return false;
	if (year / 1000 != year % 100 / 10 || year % 1000 / 100 != year % 10) return false;
	return true;

}

int main()
{

	cin >> n;

		for (int i = 1000; i <= 9999; i++)
		{

			int data = i, x = i;
			for (int j = 0; j < 4; j++)
			{
				data = data * 10 + x % 10, x /= 10;

				if (check_day(data) && data >= n)
				{
					if (check_day1(data)&&ans==1)
					{
						cout << data;
						return 0;
						

					}
					if (ans == 0)
					{
						cout << data << endl;
						ans++;
					}
				}


			}

		}
	






}





不知道为啥会WA

2023/3/20 23:16
加载中...