#include <bits/stdc++.h>
using namespace std;
int n11[5], y11[5], r11[5];
//t1 ~ u3存a,b,c的三种排列情况,cs记录已经答案下标
int a, b, c, t1, t2, t3, y2, y3, u1, u2, u3, cs = 1;
int y1;
bool rn(int n)
{
if((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
{
return true;
}
else
{
return false;
}
}
bool is_xxx(int n, int y, int r)
{
if (rn((19 * 100) + n) == true && y == 2 && r > 29)
{
return true;
}
if(rn((19 * 100) + n) == false && y == 2 && r > 28)
{
return true;
}
return false;
}
void cz(int n, int y, int r)
{
if(n >= 60)
{
if (!is_xxx(n, y, r))
{
n11[cs] = (19 * 100) + n;
y11[cs] = y;
r11[cs] = r;
cs++;
}
}
else
{
if (!is_xxx(n, y, r))
{
n11[cs] = (20 * 100) + n;
y11[cs] = y;
r11[cs] = r;
cs++;
}
}
}
int main()
{
char t;
cin >> a >> t >> b >> t >> c;
t1 = a;t2 = b;t3 = c;
y1 = b;y2 = c;y3 = a;
u1 = c;u2 = b;u3 = a;
cz(t1, t2, t3);
cz(y1, y2, y3);
cz(u1, u2, u3);
if(cs == 1)
{
cout << n11[1] << "-" << y11[1] << "-" << r11[1];
}
else if(cs == 2)
{
long long a = n11[1] * 10000 + y11[1] * 100 + r11[1];
long long b = n11[2] * 10000 + y11[2] * 100 + r11[2];
if(a > b)
{
int t = a;
a = b;
b = t;
}
cout << a / 10000 << "-" << a % 10000 / 100 << "-" << a % 100 << endl;
cout << b / 10000 << "-" << b % 10000 / 100 << "-" << b % 100;
}
else
{
long long a = n11[1] * 10000 + y11[1] * 100 + r11[1];
long long b = n11[2] * 10000 + y11[2] * 100 + r11[2];
long long c = n11[3] * 10000 + y11[3] * 100 + r11[3];
if(a > b)
{
int t = a;
a = b;
b = t;
}
if(b > c)
{
int t = b;
b = c;
c = t;
}
if(a > b)
{
int t = a;
a = b;
b = t;
}
cout << a / 10000 << "-" << a % 10000 / 100 << "-" << a % 100 << endl;
cout << b / 10000 << "-" << b % 10000 / 100 << "-" << b % 100 << endl;
cout << c / 10000 << "-" << c % 10000 / 100 << "-" << c % 100 << endl;
}
return 0;
}
一直报错,求大佬看看