为什么64pts?
玄3关!!!!!!!!!!!!!!!
my code:
#include <bits/stdc++.h>
using namespace std;
int a[5], b[5], c[5];
set<tuple<int, int, int>> ans;
int month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool check(int y, int m, int d)
{
if (y < 1960 || y > 2059 || m > 12 || m < 1 || d > 31 || d < 1)
return 0;
if (y % 4 == 0 && y % 100 || y % 400 == 0)
month[2] = 29;
else
month[2] = 28;
if (d > month[m])
return 0;
return 1;
}
void print(int a[])
{
int y = 19 * 100 + a[1], m = a[2], d = a[3];
if (check(y, m, d))
ans.insert({y, m, d});
y = 20 * 100 + a[1];
if (check(y, m, d))
ans.insert({y, m, d});
}
int main()
{
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
scanf("%d/%d/%d", &a[1], &a[2], &a[3]);
b[1] = a[2];
b[2] = a[3];
b[3] = a[1];
c[1] = a[3];
c[2] = a[2];
c[3] = a[1];
print(a);
print(b);
print(c);
for (auto x : ans)
printf("%04d-%02d-%02d\n", get<0>(x), get<1>(x), get<2>(x));
return 0;
}