Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Glyxs
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 3
1

Сумма на часах

12.07.2017, 09:29. Просмотров 325. Ответов 4
Метки нет (Все метки)

Сумма на часах

На столе лежит n работающих пронумерованных от 1 до n часов.
В начальный момент времени часы под номером i показывают время t[i].
ti представляет строку из пяти символов, в которой первые две цифры показывают значение часовой стрелки, затем следует разделитель ':' (ASCII 58), последние две цифры — значение минутной стрелки.
Примеры: 12:30 — двенадцать часов тридцать минут, 01:05 — один час пять минут.
Необходимо узнать через какое время сумма цифр всех часов в первый раз будет равна S, или определить что данная сумма не будет набрана никогда.

Формат входного файла:
Первая строка входного файла содержит два целых числа n и S — количество часов и требуемая сумма соответственно.
Следующие n строк содержат t[i] — показания часов в начальный момент времени.

Формат выходного файла:
Выходной файл должен содержать время в том же формате что и t[i], через которое сумма цифр в первый раз станет равна S.
В случае, если требуемая сумма не будет набрана никогда, выведите −1.

Ограничения
1 ≤ n ≤ 100
0 ≤ S ≤ 24 n

Входной файл: input.txt Ограничение времени: 1 сек
Выходной файл: output.txt Ограничение памяти: 256 Мб

Входной файл (input.txt) Выходной файл (output.txt)

1 14 00:17
13:02

3 31 00:03
11:03
23:15
15:59

2 4 -1
00:01
10:15

2 30 03:34
20:20
00:15

из идей было такое:
читаем n и s, затем читаем все t как строки. Удаляем символ ':' и переводим строку в integer. Затем считаем сумму цифр в получившемся числе. если сумма чисел всех t больше чем s то выводим '-1'. не понятно как далее реализовать все это.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2017, 09:29
Ответы с готовыми решениями:

Вывести данное значение длительности в часах, минутах и секундах
18. Дано натуральное число T, которое представляет длитель¬ность прошедшего времени в секундах....

Дано натуральное число N (N<360), определить время (в часах)
Привет.Помогите пожалуйста решить задачку на паскале. Дано натуральное число N (N&lt;360),...

Использование таймера в часах
Вообщем прошу помочь :scratch: Возможно ли как-то в паскале закинуть таймер к часам ? Т.е. ...

Вывести введенное время в часах, минутах секундах
В программу вводится время. Программа выводит его в часах,минутах и секундах.

Реализовать движение стрелок на часах
сделать так что бы стрелки часов бегали (как угодно) помогите плиз (извините не знаю как вставить...

4
Puporev
Модератор
57218 / 43667 / 30175
Регистрация: 18.05.2008
Сообщений: 104,103
12.07.2017, 09:45 2
Цитата Сообщение от Glyxs Посмотреть сообщение
если сумма чисел всех t больше чем s то выводим '-1'.
Это неверно, после 23:59 часы будут показывать 00:00.
Нужно написать функцию сложения двух значений времени, например 13:25+18:25=07:50
0
Glyxs
0 / 0 / 0
Регистрация: 12.07.2017
Сообщений: 3
12.07.2017, 09:57  [ТС] 3
во втором примере при сумме 15:59 и 00:03 получается 16:02, соответственно уже совсем другая сумма(1+5+5+9=20 и 1+6+0+2=9)
0
Puporev
Модератор
57218 / 43667 / 30175
Регистрация: 18.05.2008
Сообщений: 104,103
12.07.2017, 10:00 4
Так часы же идут и каждую минуту меняется значение их времени, а следовательно и сумма цифр на всех часах.
Вам и нужно найти через какое время эта сумма будет равна заданной.
1
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
4705 / 2921 / 2257
Регистрация: 22.11.2013
Сообщений: 8,157
12.07.2017, 20:48 5
Решение "в лоб":
Читаем n, S
Читаем n времён, переводя в минуты.
Для j от 0 до 24*60-1 проверяем равна ли S сумма цифр каждого t[i]+j, преобразованного во время,
если да, то выводим и останавливаемся
Выводим -1.
0
12.07.2017, 20:48
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2017, 20:48

Число совпадений минут и часов на электронных часах
Время на электронных часах записывается в виде двух чисел: часы (от 0 до 23) и минуты (от 0 до 59)....

Сведения об отработанных часах рабочих и з/п за каждый из 5 дней
Помогите пожалуйста очень прошу... С у.в. Gepard!!! Добавлено...

Описать процедуру, которая увеличивает на T секунд время, заданное в часах
Помогите пожалуйста решить задачу по паскаль: Описать процедуру IncTime(H, M, S, T), которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru