В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
yaltame
yaltame
08.07.2021 09:50 •  Информатика

надо написать код (очень желательно на питоне) для задачи: B. Бинго!

«Бинго» — старинная игра с множеством разновидностей. В данной задаче вы познакомитесь с одной из них.

Карточка для игры в «Бинго» представляет собой прямоугольное поле n × m, заполненное числами от 1 до k. Ведущий проводит q раундов, на каждом из которых закрашивается ровно одна ранее не закрашенная клетка. Игрок считается победителем, если на его карточке образуется вертикальная или горизонтальная линия, полностью состоящая из закрашенных клеток.

Чтобы сделать процесс немного интереснее, ведущий один раз за игру разрешает игроку закрасить произвольный набор клеток. При этом игрок должен заплатить ведущему сумму, равную максимальному из чисел, написанных на клетках выбранного набора.

После каждого раунда определите, какую минимальную сумму игрок должен заплатить ведущему, чтобы выиграть в «Бинго» к данному раунду. Если после раунда игрок уже является победителем, то ведущему можно ничего не платить и минимальная сумма равна нулю.

Исходные данные

В первой строке ввода даны целые числа, разделённые пробелом: n, m, q, k (1 ≤ n, m ≤ 105, 1 ≤ n · m ≤ 2 · 105, 1 ≤ q ≤ min(105, n · m), 1 ≤ k ≤ 109) — размер игрового билета, количество раундов и ограничение на величину числа в игровой клетке. Далее следует описание игрового поля: таблица, дано n строк и m столбцов. Числа в каждой строке разделены пробелом. Каждое число натуральное и не превышает k.

Далее следуют q строк описания запросов на закрашивание клеток. В каждой строке даны 2 числа ri и ci (1 ≤ ri ≤ n, 1 ≤ ci ≤ m) — координаты строки и столбца закрашиваемой клетки. Гарантируется, что никакая клетка не закрашивается дважды.

Результат

Для каждого раунда выведите в отдельной строке минимальную сумму, которую игрок должен заплатить ведущему.

пример:

ввод вывод

33 4 5 3

1 3 2 2

3 3 4 1

4 5 2 0

3 1

3 2

2 1

1 1

Показать ответ
Ответ:
кот933
кот933
25.08.2021 20:54
Стакан перемещается на третье место, соответственно чашка на четвертое. Теперь известно, что кофе оказалось посередине, т.е. оно в стакане. Справа и слева чай и молоко. Т.е. в кружке либо чай, либо молоко и в чашке тоже. Но известно, что в бутылке минеральная вода, а по соседству с молоком - квас. В чашке - молоко, в кувшине квас, в кружке чай.
                  кофе чай молоко квас минеральная вода
     бутылка  -        -      -           -        +
     кружка            +      
     чашка                    +    
     стакан    +        -      -          -         -
     кувшин                              +  
0,0(0 оценок)
Ответ:
SimbatDuysebek
SimbatDuysebek
07.04.2020 20:44
Если ввести X или Y значительно больше чем Z то программа на втором или тертьем условии выдаст false и закончит свою работу ничего не написав. Например: если указать X = 10 , Y = 2, Z = 3; то на первом условии будет true, потому что 10 +2 > 3 , но на третьем условии выдаст false потому что 2+3 < 10 но так как ничего не прописано на этот случай программа просто закончит свою работу.
Что бы исправить этот баг необходимо все условия свести в одно: 
if ((x + y > z)and (x + z > y) and (y + z > x) ) then 
   writeln('треугольник построить можно')
else  
 writeln('треугольник построить нельзя');
end.

Это решение так же является ответом на 3-й вопрос.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота