蒟蒻求助。卡第九个测试点

P5707 【深基2.例12】上学迟到

@[black_life](/user/1049413) 调了快一个小时,终于是改对了: ```cpp #include<bits/stdc++.h> using namespace std; inline int read() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } int s,v,h=7; int mn=50,kc; int main(){ s=read(); v=read(); if(s%v){ kc=s/v+1; }else{ kc=s/v; } mn-=kc; while(mn<0){ mn+=60; h-=1; if(h==0){ h=24; } } if(h==24){ h=0; } if(h<10){ if(mn>=10){ cout<<0<<h<<":"<<mn; }else{ cout<<0<<h<<":"<<0<<mn; } }else{ if(mn>=10){ cout<<h<<":"<<mn; }else{ cout<<h<<":"<<0<<mn; } } return 0; } ``` 问题是 $h$ 在等于 $24$ 的时候要赋值为 $0$。 真的调了很久,求关注!
by Weekoder @ 2024-01-11 22:58:58


没必要这么长吧。。。 参考我的 ``` #include<bits/stdc++.h> using namespace std; float n,v; int main() { cin>>n>>v; int h,m; int k=ceil(n/v); if(k>1440) k=1440; h=7; m=50; while(1) { k--; if(m==0) { m=59; h--; if(h==-1) h=23; } else ____//这里填什么? if(!k) break; } if(h<10) cout<<'0'; cout<<h<<':'; if(m<10) cout<<'0'; cout<<m<<endl; return 0; } ```
by Rieman_sum @ 2024-01-12 15:12:39


@[Weekoder](/user/800884) 感谢,已关
by QAQvQAQ @ 2024-01-12 16:23:35


@[Guo1](/user/743879) 不会ceil(蒟蒻的呻吟 ceil是整除?
by QAQvQAQ @ 2024-01-12 16:27:53


@[black_life](/user/1049413) ceil 函数的话,就是向上取整,你的那种写法也可以: ```cpp if(s%v){ kc=s/v+1; }else{ kc=s/v; } ``` 这样还只需要用 int 类型。
by Weekoder @ 2024-01-12 18:19:21


|