Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 25

Определить, на протяжении какого времени в течение суток работают все кассы одновременно

08.01.2017, 13:30. Показов 7327. Ответов 1

Студворк — интернет-сервис помощи студентам
На одном из московских вокзалов билеты продают N касс. Каждая касса работает без перерыва определенный промежуток времени по фиксированному расписанию (одному и тому же каждый день). Требуется определить, на протяжении какого времени в течение суток работают все кассы одновременно.

Входные данные
Сначала вводится одно целое число N (0 < N ≤ 1000).

В каждой из следующих N строк через пробел расположены 4 целых числа, первые два из которых обозначают время открытия кассы в часах и минутах (часы — целое число от 0 до 23, минуты — целое число от 0 до 59), оставшиеся два — время закрытия в том же формате. Числа разделены пробелами.

Время открытия означает, что в соответствующую ему минуту касса уже работает, а время закрытия — что в соответствующую минуту касса уже не работает. Например, касса, открытая с 10 ч. 30 мин. до 18 ч. 30 мин., ежесуточно работает 480 минут.

Если время открытия совпадает с временем закрытия, то касса работает круглосуточно. Если первое время больше второго, то касса начинает работу до полуночи, а заканчивает — на следующий день.

Выходные данные
Требуется вывести одно число — суммарное время за сутки (в минутах), на протяжении которого работают все N касс.

Пояснения к примерам
1) Первая касса работает с часу до 23 часов, вторая – круглосуточно, третья – с 22 часов до 2 часов ночи следующего дня. Таким образом, все три кассы одновременно работают с 22 до 23 часов и с часу до двух часов, то есть 120 минут.

2) Первая касса работает до 14 часов, а вторая начинает работать в 14 часов 15 минут, то есть одновременно кассы не работают.

3) Вместе кассы работают лишь одну минуту – с 14:00 до 14:01 (в 14:01 вторая касса уже не работает).

Примеры
входные данные
3
1 0 23 0
12 0 12 0
22 0 2 0
выходные данные
120
входные данные
2
9 30 14 0
14 15 21 0
выходные данные
0
входные данные
2
14 00 18 00
10 00 14 01
выходные данные
1
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2017, 13:30
Ответы с готовыми решениями:

Требуется определить, на протяжении какого времени в течение суток работают все кассы одновременно
Помогите решить задачу! снизу привел свой пример, в пробниках работает, но проходит не все тесты, может кто сможет подправить? На...

Онлайн кассы, не работают одновременно несколько пользователей
Здравствуйте коллеги! Есть тонкие клиенты HP hstnc-012-tc в количестве 3 шт которые стоят в регистратуре они подключаются к удаленному...

В течение какого времени будет лететь ракета до встречи с Марсом?
Добрый день! Помогите пожалуйста решить задачу. Если можно с пояснениями. Ракета, запущенная с Земли на Марс, летит, двигаясь вокруг...

1
0 / 0 / 1
Регистрация: 24.01.2017
Сообщений: 2
26.01.2017, 18:10
Лучший ответ Сообщение было отмечено klorman как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def line (Topen, Tclose):
* * s1=""
* * if Topen > Tclose: 
* * * * for a in range (Tclose): s1+="1"
* * * * for a in range (Tclose, Topen): s1+="0"
* * * * for a in range (Topen, 1440): s1+="1"
* * if Topen < Tclose:
* * * * for a in range(Topen): s1+="0"
* * * * for a in range(Topen, Tclose): s1+="1"
* * * * for a in range(Tclose, 1440): s1+="0"
* * if Topen == Tclose: s1="1"*1440
* * return s1
*
def AND(a,b):
* * s=""
* * for i in range (1440):
* * * * if a[i]=="1" and b[i]=="1": s+="1"
* * * * else: s+="0"
* * return s
*
i=int(input())
Hopen, Mopen, Hclose, Mclose = (int(v) for v in input().split())
Topen = Hopen*60+Mopen
Tclose = Hclose*60+Mclose
a=line(Topen, Tclose)
for i in range (i-1):
* * Hopen, Mopen, Hclose, Mclose = (int(v) for v in input().split())
* * Topen = Hopen*60+Mopen
* * Tclose = Hclose*60+Mclose
* * b=line(Topen, Tclose)
* * a=AND(a,b)
c=a.count("1")
print(c)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.01.2017, 18:10
Помогаю со студенческими работами здесь

Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей
помогите пожалуйста исправить ошибки в коде: #include &lt;iostream&gt; using namespace std; void main() { int N,i,C,...

Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей
Помогите пожалуйста, пыталась решить задачу разными способами, в итоге в собственном коде запуталась. И прикрепляю файлы с которых...

Определить, в течение какого количества дней месяца непрерывно, осадков не было
2) Известны сведения о количестве осадков, выпавших за каждый день мая. Первого мая осадков не было. Определить, в течение какого...

Определить часть суток по времени
Нужно как то сделать чтобы выходило также к дополнению времени утро абед обед вечер или ночь. Например: сейчас времени 18:00 вечер а если...

По заданному времени определить время суток
Написать функцию, которая в качестве параметра принимает число, которое равняется определенному времени. Нужно что бы функция вывела время...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru