求的是符合条件的日期,不知道哪里不对
#include<bits/stdc++.h>
using namespace std;
char a[110];
int day, ans;
bool check(int day)
{
int yy = day / 10000, mm = day / 100 % 100, dd = day % 100;
if (yy == 2023)
{
if (mm < 1 || mm>12) return false;
else
{
if (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12)
{
if (dd >= 1 && dd <= 31) return true;
else return false;
}
else if (mm == 2)
{
if (dd >= 1 && dd <= 28) return true;
else return false;
}
else if (mm == 4 || mm == 6 || mm == 9 || mm == 11)
{
if (dd >= 1 && dd <= 30) return true;
else return false;
}
}
}
else if(yy!=2023) return false;
}
void dfs(int t)
{
if (t == 9)
{
if (check(day)) cout << day << endl;
return;
}
for (int i = 1; i <= 100; i++)
{
int x = a[i] - '0';
for (int i = 7; i >= t; i--)
x *= 10;
day += x;
dfs(t + 1);
day -= x;
}
}
int main()
{
for (int i = 1; i <= 100; i++)
cin >> a[i];
dfs(1);
return 0;
}
0 回复
0 转发
0 喜欢
3 阅读



