P17744 题解
该题解为本题的官方题解。
依照题意模拟即可。注意:
- 若当前分钟数
m<x ,说明需要从小时借1 小时,即6 分钟; - 若借位后小时
h<0 ,说明跨到了前一天,需要加24 小时。 - 输出时保证小时和分钟均为两位数,不足补
0 。
代码如下:
#include <bits/stdc++.h>
using namespace std;
int x, h, m;
char s[10];
int main()
{
scanf("%s %d", s, &x);
h = stoi(string(s).substr(0, 2));
m = stoi(string(s).substr(3, 2));
printf("%02d:%02d\n",(m - x >= 0) ? h : ((h == 0) ? 23 : h - 1), (m - x >= 0) ? m - x : m - x + 60);
return 0;
}