代码如下
#include <bits/stdc++.h>
using namespace std;
int Month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int T;
int n;
int s,m,h,d,mth,y;
long long tot;
void check()
{
if((y%4==0&&y%100!=0)||y%400==0)
Month[2]=29;
else
Month[2]=28;
return ;
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d%d%d%d%d",&n,&y,&m,&d,&h,&mth,&s);
tot=pow(2,n-1);
s+=tot-1;
m+=s/60;
s%=60;
h+=m/60;
m%=60;
d+=h/24;
h%=24;
check();
while(d>Month[mth])
{
d-=Month[mth++];
if(mth>12)
{
mth=1;
y++;
check();
}
}
printf("%d %d %d %d %d %d\n",y,mth,d,h,m,s);
}
return 0;
}