Problem :
Game Time with Minutes
Adapted by Neilor Tonin, URI Brazil
Timelimit: 1
Read the start time and end time of a game, in hours and minutes (initial hour, initial minute, final hour, final minute). Then print the duration of the game, knowing that the game can begin in a day and finish in another day,
Obs.: With a maximum game time of 24 hours and the minimum game time of 1 minute.
Input
Four integer numbers representing the start and end time of the game.
Output
Print the duration of the game in hours and minutes, in this format: “O JOGO DUROU XXX HORA(S) E YYY MINUTO(S)” . Which means: the game lasted XXX hour(s) and YYY minutes.
Sample Input | Sample Output |
7 8 9 10 | O JOGO DUROU 2 HORA(S) E 2 MINUTO(S) |
7 7 7 7 | O JOGO DUROU 24 HORA(S) E 0 MINUTO(S) |
7 10 8 9 | O JOGO DUROU 0 HORA(S) E 59 MINUTO(S) |
Solution:
#include <iostream>
#include <stdio.h>
using
namespace
std;
int
main(){
int
a, b, c, d;
cin >> a;
cin >> b;
cin >> c;
cin >> d;
int
inicio = a*60 + b;
int
final = c*60 + d;
int
duracao = 0;
if
(a <= c){
duracao = final - inicio;
if
(duracao == 0)
printf
(
"O JOGO DUROU %d HORA(S) E %d MINUTO(S)\n"
,24,duracao%60);
else
printf
(
"O JOGO DUROU %d HORA(S) E %d MINUTO(S)\n"
,(duracao - duracao%60)/60,duracao%60);
}
else
{
duracao = (24*60 - inicio) + final;
printf
(
"O JOGO DUROU %d HORA(S) E %d MINUTO(S)\n"
,(duracao - duracao%60)/60,duracao%60);
}
return
0;
}
No comments:
Post a Comment