jiangzhencong @ 2024-11-30 09:15:01
#include <bits/stdc++.h>
using namespace std;
int main(){
int s,v;
cin>>s>>v;
int t = ceil(s/v+10);
int n = 8*60;
n-=t;
int h = n/60;
int m = n%60;
if(m<0){
m+=60;
h--;
}
if(h<0){
h+=24;
}
if(h<10)cout<<'0'<<h;
else cout<<h;
cout<<":";
if(m<10)cout<<0<<m;
else cout<<m;
return 0;
}
倒数第二个测试点错误,望告知
by wanglijia @ 2024-11-30 09:27:20
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int s, v;
cin >> s >> v;
// 计算路上花费的时间(分钟),向上取整
int timeOnRoad = (s / v) + (s % v!= 0);
// 计算总共需要花费的时间(包含垃圾分类的10分钟)
int totalTime = timeOnRoad + 10;
// 计算出发时间(分钟数),8点对应的分钟数是8 * 60 = 480分钟
int startMinute = 480 - totalTime;
// 如果出发时间小于0,说明需要提前一天出发,进行相应处理
if (startMinute < 0) {
startMinute += 24 * 60;
}
// 计算小时数和分钟数
int hour = startMinute / 60;
int minute = startMinute % 60;
// 按照要求格式输出时间
cout << setfill('0') << setw(2) << hour << ":" << setw(2) << minute << endl;
return 0;
}