Задача 8 (6 баллов)

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

Каждый день в кафе приходят n человек. Каждый из них заранее сообщает, какую разновидность каждого из четырех блюд он хотел бы получить на обед. Блюдо, которое подают в итоге этому человеку, считается желанным, если его разновидность совпадает с тем, что человек хотел бы получить. Вам необходимо написать программу, по этим данный определяющую такой набор из четырех блюд, что суммарное количество желанных блюд, полученных людьми, максимально.

Формат входного файла

В первой строке входного файла input.txt находится натуральное число n (1 ≤ n ≤ 100) — количество посетителей кафе. В следующих n строках содержится по четыре числа (1 ≤ a, b, c, d ≤ 4) — номер разновидности салата, супа, мяса и гарнира, которые хотел бы съесть очередной человек.

Формат выходного файла

В выходной файл output.txt требуется вывести четыре числа от одного до четырех: номера разновидностей салата, супа, мяса и гарнира, которые необходимо подать на бизнес-ланч, чтобы максимизировать количество выполненных пожеланий. При существовании нескольких оптимальных ответов необходимо вывести любой из них.

Пример входных и выходных данных

input.txt output.txt
1 2 4 4 4 2 4 4 4
5 1 1 3 2 1 3 2 2 2 2 2 2 1 4 4 3 2 1 1 2 1 1 2 2

(другой вариант)

Каждый день в кафе приходят n человек. Каждый из них заранее сообщает, какую разновидность каждого из четырех блюд он не хотел бы получить на обед. Блюдо, которое подают в итоге этому человеку, считается нежеланным, если его разновидность совпадает с тем, что человек не хотел бы получить. Вам необходимо написать программу, по этим данным определяющую такой набор из четырех блюд, что суммарное количество нежеланных блюд, полученных людьми, минимально

Формат выходного файла

В выходной файл output.txt требуется вывести четыре числа от одного до четырех: номера разновидностей салата, супа, мяса и гарнира, которые необходимо подать на бизнес-ланч, чтобы минимизировать количество невыполненных пожеланий. При существовании нескольких оптимальных ответов необходимо вывести любой из них.

Пример входных и выходных данных

input.txt output.txt
1 2 4 4 4 1 1 1 1
5 1 1 3 2 1 3 2 2 2 2 2 2 1 4 4 3 2 1 1 2 3 2 1 1

ОТВЕТЫ

Задача 1.

Сумма в В3 = 3, ответ: 7576807

Сумма в В3 = 4, ответ: 3994575

Сумма в В3 = 5, ответ: 8255455

Задача 2.

день 1 день 1 день  
откр   откр   откр  
закр   закр   закр  
макс   макс   макс  
мин   мин   мин  

Ответ:260 490, 320 570, 180 580

Задача 3.

Алгоритм выполнения задачи!

Копируешь вторую картинку из своего варианта олимпиады в память, затем запускаешь фотошоп, в нем через меню Файл говоришь "создать" - появляется пустая картинка размерами с твой рисунок в буфере, дальше говоришь через меню Правка "вставить", и если не горит вкладка инструментов справа "Каналы", включаешь ее через меню Окно. Как только каналы для картинки откроются, прочитай еще раз задание - какие цвета нужно найти, и посмотри внимательно на вкладку "Каналы" - ответ будет очевиден!

Смотрим в фотошопе каналы, тот который полностью черный – убран, тот у кого всего четыре градации – второй искомый! Записываем через пробел две заглавные латинские буквы нужных цветов.

Задача 4. (хочется еще раз ее перерешать внимательно, так как слишком много условностей при построении таблицы разбиения сети)

IP составной сети 10.168.120.64 Ответ:

IP составной сети 10.168.121.64 Ответ:

IP составной сети 10.168.122.64 Ответ:

Задача 5.

27 тактов Ответ.

28 тактов Ответ.

29 тактов Ответ.

Задача 6.

  Склад1 Склад2 Склад3   Склад1 Склад2 Склад3   Склад1 Склад2 Склад3
Товар1       Товар1       Товар1      
Товар2       Товар2       Товар2      
Товар3       Товар3       Товар3      
Товар4       Товар4       Товар4      
Товар5       Товар5       Товар5      
Товар6       Товар6       Товар6      
Товар7       Товар7       Товар7      
Товар8       Товар8       Товар8      

Задача 7.

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

var n,i,j,m,max,k,r:integer;

b:array[1..100,1..100] of integer;

input,output:text;

begin

assign(input,'input.txt');

reset(input);

readln(input,n,m);

for i:=1 to n do

for j:=1 to m do

read(input,b[i,j]);

close(input);

assign(output,'output.txt');

rewrite(output);

max:=0;

for i:=1 to n do begin

k:=0;

for j:=1 to m do

if b[i,j]=0 then k:=k+1

else begin

if k>max then max:=k; k:=0; end;

end;

if k>max then max:=k;

write(output,max);

close(output);

end.

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

var n,i,j,m,max,k,r:integer;

b:array[1..100,1..100] of integer;

input,output:text;

begin

assign(input,'input.txt');

reset(input);

readln(input,n,m);

for i:=1 to n do

for j:=1 to m do

read(input,b[i,j]);

close(input);

assign(output,'output.txt');

rewrite(output);

max:=0;

for i:=1 to n do begin

k:=0;

for j:=1 to m do

if b[i,j]=0 then k:=k+1

else begin

if k>max then begin max:=k; r:=i; end;

k:=0; end;

end;

if k>max then begin max:=k; r:=i; end;

write(output,r);

close(output);

end.

Задача 8

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

var n,i,j,max,k:integer;

a:array[1..4] of integer;

b:array[1..100,1..4] of integer;

input,output:text;

begin

assign(input,'input.txt');

reset(input);

readln(input,n);

for i:=1 to n do

for j:=1 to 4 do

read(input,b[i,j]);

close(input);

assign(output,'output.txt');

rewrite(output);

for j:=1 to 4 do begin

for k:=1 to 4 do a[k]:=0;

for i:=1 to n do a[b[i,j]]:=a[b[i,j]]+1;

max:=1;

for k:=2 to 4 do if a[k]>a[max] then max:=k;

write(output,max:2);

end;

close(output);

end.

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

var n,i,j,min,k:integer;

a:array[1..4] of integer;

b:array[1..100,1..4] of integer;

input,output:text;

begin

assign(input,'input.txt');

reset(input);

readln(input,n);

for i:=1 to n do

for j:=1 to 4 do

read(input,b[i,j]);

close(input);

assign(output,'output.txt');

rewrite(output);

for j:=1 to 4 do begin

for k:=1 to 4 do a[k]:=0;

for i:=1 to n do a[b[i,j]]:=a[b[i,j]]+1;

min:=1;

for k:=2 to 4 do if a[k]<a[min] then min:=k;

write(output,min:2);

end;

close(output);

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: