90分,求助

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

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;
}

|