gesp(C++一级)(13)洛谷:B4000:[GESP202406 一级] 休息时间
题目描述
小杨计划在某个时刻开始学习,并决定在学习 k k k 秒后开始休息。
小杨想知道自己开始休息的时刻是多少。
输入格式
前三行每行包含一个整数,分别表示小杨开始学习时刻的时 h h h、分 m m m、秒 s s s( h , m , s h,m, s h,m,s 的值符合
1 < h ≤ 12 , 0 ≤ m ≤ 59 , 0 ≤ s ≤ 59 1 < h \le 12,0 \le m\le 59,0 \le s\le59 1<h≤12,0≤m≤59,0≤s≤59)。
第四行包含一个整数 k k k,表示小杨学习的总秒数(注: k k k 的值符合 1 ≤ k ≤ 3600 1 \le k \le 3600 1≤k≤3600)。
输出格式
输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。
样例 #1
样例输入 #1
12
59
59
10
样例输出 #1
13 0 9
提示
小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。
对于全部数据,保证有 1 < h ≤ 12 1 < h \le 12 1<h≤12, 0 ≤ m ≤ 59 0 \le m\le 59 0≤m≤59, 0 ≤ s ≤ 59 0 \le s\le 59 0≤s≤59, 1 ≤ k ≤ 3600 1 \le k \le 3600 1≤k≤3600。
AC代码(100分)
#include<bits/stdc++.h>
using namespace std;
/*思路:1、秒相加 2、秒满60进位到分钟,只留进位后剩余的秒3、分满60进位到小时,只留进位后剩余的分
*/
int h,m,s,k;
int main(){cin>>h>>m>>s>>k;s+=k;//秒相加 m+=s/60;//秒满60进位到分钟 s%=60;//进位后剩余的秒 h+=m/60;//分满60进位到小时 m%=60;//进位后剩余的分 cout<<h<<" "<<m<<" "<<s;return 0;
}
文末彩蛋:
点击王老师青少年编程主页有更多精彩内容