文章

37

粉丝

168

获赞

13

访问

285.3k

头像
P1446 解题思路分享
P1446 北京理工大学机试题
发布于2021年3月6日 15:55
阅读数 6.8k

#include <bits/stdc++.h>
using namespace std;

int jude(int y){
    if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
		return 1;
	else return 0;
}

int main()
{
	int n,y,m,d,ad;
	int f[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	cin>>n;
	while(n--){
		cin>>y>>m>>d>>ad;
		int D=d+ad;
		if(jude(y)) f[2]=29;
		else f[2]=28;
		while(D>f[m]){
			D=D-f[m];
			m++;
			if(m>12){
				y++;
				if(jude(y)) f[2]=29;
				else f[2]=28;
				m=m%12;
			}
		}
		printf("%d-%02d-%02d\n",y,m,D);
	}
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发