样例能过,但交上去只过#1
查看原帖
样例能过,但交上去只过#1
521283
wangif424楼主2022/7/28 15:39
#include<bits/stdc++.h>
using namespace std;
int t;
long long bit;
long long year,month,day,hour,minute,second;
int isr(int y){
	if(y%100==0){
		if(y%400==0)return 1;
		else return 0;
	}else if(y%4==0){
		return 1;
	}
	return 0;
}
long long m[13]={31,31,28,31,30,31,30,31,31,30,31,30,31};
inline int d(int mo){
	if(mo==2){
		return m[2]+isr(year);
	}else{
		return m[mo];
	}
}
int main(){
	cin >> t;
	while(t--){
		cin >> bit >> year >> month >> day >> hour >> minute >> second;
		bit=((long long) 1<<bit-1)-1;
		second+=bit;
		minute+=(second/60);
		second%=60;
		hour+=(minute/60);
		minute%=60;
		day+=(hour/24);
		hour%=24;
		while(day>=d(month)){
			day-=d(month);
			month++;
			if(month==13){
				month=1;
				year++;
			}
		}
		year+=month/12;
		month%=12;
		printf("%d %d %d %d %d %d\n",year,month,day,hour,minute,second);
	} 
	return 0;
}

2022/7/28 15:39
加载中...