对于样例一 输出的是2000行1 9 6 7 0 4:)还有一行换行(PS用的洛谷IDE) 就很迷:) 感觉好像有什么东西往后挪了两位(az果然我应该开longlong做这题?)嗐我可能还是不适合黄题:)
#include <bits/stdc++.h>
using namespace std;
int T;
int L, y, m, d, h, mi, s, now_s, max_s;
int main() {
cin >> T;
while(T > 0) {
T--;
cin >> L >> y >> m >> d >> h >> mi >> s;
max_s = pow(2, L) + 1;
while(now_s <= max_s) {
s++, now_s++;
mi += s / 60, s %= 60;
h += mi / 60, mi %= 60;
d += h / 24, h %= 24;
if((m <= 7 && m % 2 == 1)||(m >= 8 && m % 2 == 0)) m += d / 31, d %= 31;
else if((m > 2 && m <= 6 && m % 2 == 0)||(m >= 9 && m % 2 == 1)) m += d / 30, d %= 30;
else {
if(y % 4 == 0) {
if(y % 400 == 0) m += d / 29, d %= 29;
else if(y % 100 == 0) m += d / 28, d %= 28;
else m += d / 29, d %= 29;
} else m += d / 28, d %= 28;
}
y += m / 12, m %= 12;
}
cout << y << " " << m << " " << d << " " << h << " " << mi << " " << s << " " << endl;
}
return 0;
}