Wednesday, December 2, 2015

Uri problem 1047 solve

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 InputSample Output
7 8 9 10O JOGO DUROU 2 HORA(S) E 2 MINUTO(S)
7 7 7 7O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)
7 10 8 9O 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