求助 WA #2 #8 #9 #10
  • 板块P2655 2038年问题
  • 楼主Andy_L
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/31 20:01
  • 上次更新2023/10/27 04:41:45
查看原帖
求助 WA #2 #8 #9 #10
460429
Andy_L楼主2022/10/31 20:01
#include <bits/stdc++.h>

using namespace std;

int n,m,y,mon,d,h,minu,s;

bool leap(int year) 
{
	return (year%4==0&&year%100!=0)||year%400==0;
}

void month() 
{
	if ((mon==1||mon==3||mon==5||mon==7||mon==8||mon==10||mon==12)&&d>31) 
	{
		d-=31;
		mon++;
	} 
	else if ((mon==4||mon==6||mon==9||mon==11)&&d>30) 
	{
		d-=30;
		mon++;
	} 
	else if (mon==2&&d>(leap(y)?29:28)) 
	{
		d-=(leap(y)?29:28);
		mon++;
	} 
	else return;
	y+=(mon-1)/12;
	mon=(mon-1)%12+1;
	month();
}

int main() 
{
	cin>>n;
	for (int i=1;i<=n;i++) 
	{
		cin>>m>>y>>mon>>d>>h>>minu>>s;
		m=pow(2,m-1)-1;
		s+=m;
		minu+=s/60;
		s%=60;
		h+=minu/60;
		minu%=60;
		d+=h/24;
		h%=24;
		month();
		y+=(mon-1)/12;
		mon=(mon-1)%12+1;
		cout<<y<<' '<<mon<<' '<<d<<' '<<h<<' '<<minu<<' '<<s<<endl;
	}
	return 0;
}
2022/10/31 20:01
加载中...