#include<bits/stdc++.h>
using namespace std;
int main()
{
int y,m,d,h,k;
cin>>y>>m>>d>>h>>k;
if(h+k==24){
d++;
h=0;
}
else if(h+k<24)
d=d;
else
{
d++;
h=h+k-24;
}
if(m==2)
{
if(y%4==0||y%400==0&&y%100!=0)
{
if(d==28)
{
if(h+k==24)
d=d+1;
}
}
}
if(h+k==24)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
{
if(d+1>31)
d%=31;
}
}
else if(m==4||m==6||m==9||m==11)
{
if(d+1>30)
d%=30;
}
else
if(d+1>29)
d%=29;
}
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
if(d==31)
{
if(h+k==24){
m+=1;

}

}
}
else if(m==4||m==6||m==9||m==11){
if(d==30)
{
if(k+h==24)
{
m+=1;
}

}
else{
if(d==29)
{
if(h+k==24)
m=m+1;
}
}

}
cout<<y<<" "<<m<<" "<<d<<" "<<h<<endl;

return 0;
}

1 条评论

  • #include<bits/stdc++.h>
    using namespace std;
    int y,m,d,h,k;
    int md[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int main()
    {
    cin>>y>>m>>d>>h>>k;
    if(y%4==0&&y%100!=0||y%400==0)
    md[2]=29;
    h+=k;
    if(h>23)
    {
    h-=24;
    d+=1;
    }
    if(d>md[m])
    {
    d-=md[m];
    m++;
    }
    if(m>12)
    {
    m-=12;
    y++;
    }
    cout<<y<<' '<<m<<' '<<d<<' '<<h<<endl;
    return 0;
    }

  • 1

信息

ID
2881
难度
8
分类
(无)
标签
递交数
354
已通过
42
通过率
12%
被复制
2
上传者