题目链接:https://ac.nowcoder.com/acm/problem/212956
到主站看:https://blog.csdn.net/weixin_43346722/article/details/109341925
题目
众所周知,NOIP 及其模拟赛的比赛时长均为 小时
分钟。
Alice 和 Bob 参加了于 时
分开始的2020牛客NOIP赛前集训营-提高组,请你告诉他们比赛结束的时间。
输入
共一行:一个形如 hh:mm 的字符串,表示比赛开始的时间。位数不足将填补 。
输出
共一行:一个形如 hh:mm 的字符串,表示比赛结束的时间。位数不足请填补 。
样例输入1
00:00
样例输出1
03:30
样例输入2
00:30
样例输出2
04:00
样例输入3
20:30
样例输出3
00:00
数据范围
存在独立的 的测试点,满足
。
存在独立的 的测试点,满足
。
存在独立的 的测试点,满足
。
对于全部的数据,满足 。
注:独立指测试点集合互不相交。
思路
这道题就是一道模拟。
我们就先不管进位,加了时间,然后在处理分钟数的进位和小时数的进位。
注意要补 。
注意如果分钟数加了是 或者小时数加了是
,就要进位变成
。
比赛时
看到是模拟,就打出来了。
代码
#include<cstdio>
using namespace std;
int a, b;
char c;
int main() {
c = getchar();
a = c - '0';
c = getchar();
a = a * 10 + c - '0';
c = getchar();
c = getchar();
b = c - '0';
c = getchar();
b = b * 10 + c - '0';
a += 3;
b += 30;
if (b > 59) {
a++;
b -= 60;
}
if (a > 23) {
a -= 24;
}
if (a < 10) printf("0");
printf("%d:", a);
if (b < 10) printf("0");
printf("%d", b);
return 0;
} 
京公网安备 11010502036488号