М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Valeriya0412
Valeriya0412
28.08.2021 05:08 •  Информатика

надо написать код (очень желательно на питоне) для задачи: 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

👇
Открыть все ответы
Ответ:
KIRILLGAMER332
KIRILLGAMER332
28.08.2021
1. Числа образуют последовательность, для n-го члена которой верны следующие соотношения:
a_n=2\cdot a_{n-1}+1, \ n \in \mathbb R \\ a_n=2^n-1
Последняя формула позволит ответить на вопрос "Сколько дней понадобиться,чтобы лягушка съела больше 35 комаров за раз", для чего надо решить неравенство:
2^n-135; \ 2^n36 \to n=6 \quad (2^5=32, 2^6=64)
Т.е. это произойдет в шестой день. Хороший проверить работу программы.

var
  i,an,s,f:integer;
 
begin
  s:=0; an:=0; f:=0;
  for i:=1 to 10 do
  begin
    an:=2*an+1;
    if f=0 then
      if an>35 then
      begin
        Writeln('День ',i,', за раз съедено комаров- ',an);
        f:=1
      end;
    s:=s+an
  end;
  Writeln('За 10 дней съедено комаров: ',s)
end.

Результат выполнения программы:
День 6, за раз съедено комаров- 63
За 10 дней съедено комаров: 2036

2. Используем алгоритм Евклида.

var
  a, b: integer;
begin
  Write('Введите два натуральных числа: '); Readln(a,b);
  if a<>b then
    repeat
      if a > b then a := a - b
      else b := b - a
    until a=b;
  Writeln('НОД=',b)
end.

Тестовое решение:
Введите два натуральных числа: 264 5436
НОД=12
4,7(83 оценок)
Ответ:
праллель
праллель
28.08.2021
Var abcd,a,b,c,d:integer;
begin
   abcd:=4579;
   a:=abcd div 1000; 
  b:=abcd div 100 mod 10;
   c:=abcd div 10 mod 10; 
  d:=abcd mod 10;
   Writeln(a,b,c,d);
   Writeln(a,c,b,d);
   Writeln(b,a,c,d);
   Writeln(b,c,a,d); 
  Writeln(c,a,b,d); 
  Writeln(c,b,a,d);
   Writeln(a,d,b,c); 
  Writeln(a,d,c,b);
   Writeln(b,d,a,c);
   Writeln(b,d,c,a);
   Writeln(c,a,d,b);
   Writeln(c,b,d,a);
   Writeln(a,b,d,c);
   Writeln(a,c,d,b); 
  Writeln(d,b,a,c); 
  Writeln(d,b,c,a); 
  Writeln(d,c,a,b); 
 Writeln(d,c,b,a); 
  end.
Громозко, да? Я не помню, как делать это через функцию. Думаю, и так сойдет.
4,6(50 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ