社区讨论

60pts!!!就是最后几个点没过

P26552038 年问题参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhiy4i0f
此快照首次捕获于
2025/11/03 17:36
4 个月前
此快照最后确认于
2025/11/03 17:36
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#include <iostream>
#define ll long long
using namespace std;
ll wei[10005];
int check(ll n){
	if((n%4==0&&n%100!=0)||(n%400==0))return 1;
	return 0;
}
int main(){
	//reopen("P2655_7.in","r",stdin);
	ios::sync_with_stdio(0);
	cin.tie(0);
	for(int i=1;i<=32;i++){
		if(i==1){
			wei[i]=1;continue;
		}else{
			wei[i]=wei[i-1]*2;
		}
	}
	int T;
	cin>>T;
	while(T--){
		ll month[100]={0,31,28,31,30,31,30,31,31,30,31,30,31};
		ll w,n,y,r,x,f,m,tmp,er=1;
		cin>>w>>n>>y>>r>>x>>f>>m;
		m+=wei[w]-1;
		tmp=m/60;
		m%=60;
		f+=tmp;
		tmp=f/60;
		f%=60;
		x+=tmp;
		tmp=x/24;
		x%=24;
		r+=tmp;
		if(check(y))month[2]=29;
		else month[2]=28;
		while(r>month[y]){
			r-=month[y];
			y++;
			if(y>12){
				n++;
				y=1;
			}
			if(y==2&&check(y)) month[2]=29;
			else month[2]=28;
		}
		cout<<n<<' '<<y<<' '<<r<<' '<<x<<' '<<f<<' '<<m<<'\n';
	}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...