社区讨论

20分求调(必关)

P1178到天宫做客参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mjjzyf8f
此快照首次捕获于
2025/12/24 20:35
2 个月前
此快照最后确认于
2025/12/27 08:00
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct date{
    int month,day;
};
date a[370];
int biao[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int main(){
    int n;
    int maxx=INT_MIN;
    cin>>n;
    if(n==0){
        cout<<24*3600;
        return 0;
    }else if(n==366){
        cout<<0;
        return 0;
    }
    for(int i=1;i<=n;i++) cin>>a[i].month>>a[i].day;
    int days=0;
    days+=a[1].day-1;
    for(int i=1;i<a[1].month;i++){
        days+=biao[i];
    }
    // cout<<days;
    maxx=days;
    days=0;
    for(int i=2;i<=n;i++){
        if(a[i-1].month==a[i].month){
            days=a[i].day-a[i-1].day-1;
            maxx=max(maxx,days);
            // cout<<days;
        }else{
            days+=biao[a[i-1].month]-a[i-1].day-1;
            // cout<<days;
        }
        for(int j=a[i-1].month+1;j<a[i].month;j++){
            days+=biao[j];
        }
        // cout<<days;
        days+=a[i].day;
        maxx=max(days,maxx);
    }
    maxx=max(maxx,days);
    // cout<<maxx;
    if(a[n].month==12){
        days=31-a[n].day-1;
    }else{
        days=biao[a[n].month]-a[n].day-1;
        for(int j=a[n].month+1;j<=12;j++){
            days+=biao[j];
        }
    }
    maxx=max(maxx,days);
    maxx=(double)(maxx);
    double x=86400.0*maxx/366.0;
    // printf("%0.2f",x);
    x+=0.5;
    x=(int)(x);
    cout<<x;
    return 0;
}

回复

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

正在加载回复...