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

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

08.01.2017, 13:30. Показов 7296. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru