```c
#include<stdio.h>
int main(){
int h,m,x,y,s,v,i; //h为小时,m为分钟
scanf("%d%d",&s,&v);
if(s%v==0) i=10+s/v; //判断s,v是否需要向上取整
else i=11+s/v;
if(480-i<0){ //如果上学路上花费的开销大于8*60分钟
x=1440+(480-i); //用前一天的时间24*60减去开销
//最开始用的abs取480-i的绝对值,但不知道为什么洛谷不能完全通过
h=x/60; //得到小时
m=x%60; //得到分钟
}
else{ //同理
y=480-i;
h=y/60;
m=y%60;
}
if(h>=10){ //判断小时和分钟是否为两位数 (注意等号,一开始没注意等号,分钟小时为10的时候直接输出3位数)
if(m>=10) printf("%d:%d",h,m);
else printf("%d:0%d",h,m);
}
else{
if(m>=10) printf("0%d:%d",h,m);
else printf("0%d:0%d",h,m);
}
return 0;
}
```
by zulizX @ 2022-08-30 20:15:58
我这是C写的,是CSDN
by zulizX @ 2022-08-30 20:16:44
```c
#include<iostream>
using namespace std;
int main(){
int s,v;
int c,m,n;
cin>>s>>v;
int x=s/v;
if(x<s*1.0/v){
x=x+1;
}
c=(8+24)*60-(10+x);
n=c%60;
m=c/60;
if(m>=24){
m=m-24;
}
printf("%02d:%02d",m,n);
return 0;
}
```
by nemo2010 @ 2022-09-24 08:15:14