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