C++90分 第7个没过 求助

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

1910是8*60+24\*60-10 sj是从前一天八点到该出发的时刻的时间 按理说这个sj要换成HH:MM的计时法应该再加一个8小时吧 但是不加反而才能过大部分样例
by liuyichen2024 @ 2024-08-01 13:01:24


不是。。。我以为可能这个计时法只有0点没有24点然后就该成shi>=24就减24 结果这回第7个AC了但是后面的都Wa了
by liuyichen2024 @ 2024-08-01 13:13:05


哦不是我在1910里已经加了8个小时了 所以后面不用加了 但是为什么第7个过不了
by liuyichen2024 @ 2024-08-01 13:19:51


@[liuyichen2024](/user/1412080) 题目样例中有00:00 你这个是24:00 把shi>24改成shi>=24就行
by ZYMMM @ 2024-08-01 17:41:42


@[ZYMMM](/user/737107) 但是我已经试过改这个了,并没有过而是变成后三个不过了(第七个倒是过了。。)这个70分的代码如下 ```cpp #include<bits/stdc++.h> using namespace std; int s,v,fen,shi,hua,sj; int main(){ cin>>s>>v; if(s%v==0){hua=s/v;} else{hua=(s/v)+1;} sj=1910-(hua); fen=sj%60; shi=(sj/60); if(shi>=24){shi=shi-24;} else{shi=shi-8;} if(shi<10){ if(fen<10){ cout<<'0'<<shi<<":"<<'0'<<fen; }else{cout<<'0'<<shi<<":"<<fen;} }else{ if(fen<10){ cout<<shi<<":"<<'0'<<fen; }else{cout<<shi<<":"<<fen;} } }```
by liuyichen2024 @ 2024-08-01 17:47:49


@[ZYMMM](/user/737107) 不过我用另一种改法过了 ```cpp #include<bits/stdc++.h> using namespace std; int s,v,fen,shi,hua,sj; int main(){ cin>>s>>v; if(s%v==0){hua=s/v;} else{hua=(s/v)+1;} sj=1910-(hua); fen=sj%60; shi=(sj/60); if(shi>24)shi=shi-24; if(shi==24)shi=0; if(shi<10){ if(fen<10){ cout<<'0'<<shi<<":"<<'0'<<fen; }else{cout<<'0'<<shi<<":"<<fen;} }else{ if(fen<10){ cout<<shi<<":"<<'0'<<fen; }else{cout<<shi<<":"<<fen;} } return 0; }```
by liuyichen2024 @ 2024-08-01 17:49:07


我知道了。。如果shi是48的话减24还是24 所以我这两个改法有区别
by liuyichen2024 @ 2024-08-01 17:56:09


但是shi不会是48啊
by liuyichen2024 @ 2024-08-01 17:57:43


@[liuyichen2024](/user/1412080) 为什么要加一个else{shi=shi-8;}
by ZYMMM @ 2024-08-02 23:35:22


```cpp #include<bits/stdc++.h> using namespace std; int main(){ double s,v; int m; cin>>s>>v; if(ceil(s/v)>470){ m=ceil(s/v)-470; printf("%02d:%02d",(1440-m)/60,(1440-m)%60); } else{ m=ceil(s/v); printf("%02d:%02d",(470-m)/60,(470-m)%60); } return 0; } `````` 可以用ceil()向上取整floor()向下取整
by ZYMMM @ 2024-08-02 23:51:03


| 下一页