125. Олимпиада

 

Олимпиада началась в h1 час m1 мин s1 сек, а закончилась в эти же календарные сутки в h2 час m2 мин s2 сек. Сколько времени (час мин сек) проходила олимпиада?

 

Вход. В первой строке записано время начала, а во второй время окончания олимпиады в формате час мин сек (0 ≤ h1h2 ≤ 23, 0 ≤ m1, m2 ≤ 59, 0 ≤ s1, s2 ≤ 59).

 

Выход. Вывести время продолжительности олимпиады в формате час мин сек.

 

Пример входа

Пример выхода

9 30 0

12 45 30

3 15 30

 

 

РЕШЕНИЕ

математика

 

Анализ алгоритма

Вычислим время начала олимпиады в секундах

r1 = h1 * 3600 + m1 * 60 + s1

и время конца

r2 = h2 * 3600 + m2 * 60 + s2

Олимпиада продолжалась d = r2r1 секунд. Осталось из общего количества секунд d выделить количество часов h, минут m и секунд s:

h = d / 3600, m = (d % 3600) / 60, s = d % 60

Отметим, что для вычисленных значений h, m и s имеет место соотношение:

d = h * 3600 +  + m * 60 + s

 

Реализация алгоритма

Читаем входные данные. Вычисляем время начала r1 и конца r2 олимпиады в секундах.

 

scanf("%d %d %d",&h1,&m1,&s1); r1 = h1 * 3600 + m1 * 60 + s1;

scanf("%d %d %d",&h2,&m2,&s2); r2 = h2 * 3600 + m2 * 60 + s2;

 

Вычисляем длительность олимпиады d = r2r1.

 

d = r2 - r1;

 

Выделяем количество часов h, минут m и секунд s.

 

h = d / 3600; m = (d % 3600) / 60; s = d % 60;

 

Выводим ответ.

 

printf("%d %d %d\n",h,m,s);

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int h1 = con.nextInt(), m1 = con.nextInt(), s1 = con.nextInt();

    int r1 = h1 * 3600 + m1 * 60 + s1;

   

    int h2 = con.nextInt(), m2 = con.nextInt(), s2 = con.nextInt();

    int r2 = h2 * 3600 + m2 * 60 + s2;

   

    int d = r2 - r1;

    int h = d / 3600, m = (d % 3600) / 60, s = d % 60;

    System.out.println(h + " " + m + " " + s);

    con.close();

  }

}

 

Python реализация

 

h1, m1, s1 = map(int,input().split())

r1 = h1 * 3600 + m1 * 60 + s1

 

h2, m2, s2 = map(int,input().split())

r2 = h2 * 3600 + m2 * 60 + s2

 

d = r2 - r1

h = d // 3600

m = (d % 3600) // 60

s = d % 60

 

print(h, m, s)