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

Бригаде строителей поручили уложить квадратной плиткой пол на кухне в виде шахматного узора. но строители работали не слаженно, и когда весь пол уже был уложен, оказалось, что в некоторых местах плитки одинакового цвета граничат друг с другом. по заданному замощению определите, какое минимальное число строителей могло укладывать плитку. входные данные входной файл input.txt содержит восемь строк, состоящих из восьми символов w и b – полученное замощение. символ w обозначает плитку белого цвета, а символ b – чёрную. выходные данные в выходной файл output.txt нужно вывести одно число - искомое число строителей.

👇
Ответ:
Lera200710
Lera200710
28.04.2023
Var  
i, j, k : integer; 
 a : array [0..9,0..9] of char; 
procedure U(i,j:integer);  
var c : char; 
begin 
 c:=a[i,j]; a[i,j]:=' ';  
if (c='W')and(a[i+1,j]='B') then U(i+1,j);
  if (c='B')and(a[i+1,j]='W') then U(i+1,j); 
 if (c='W')and(a[i-1,j]='B') then U(i-1,j); 
 if (c='B')and(a[i-1,j]='W') then U(i-1,j); 
 if (c='W')and(a[i,j+1]='B') then U(i,j+1);  
if (c='B')and(a[i,j+1]='W') then U(i,j+1); 
 if (c='W')and(a[i,j-1]='B') then U(i,j-1); 
 if (c='B')and(a[i,j-1]='W') then U(i,j-1); 
end; 
begin  
assign(input,'input.txt');
reset(input); 
 assign(output,'output.txt');
 rewrite(output);  
for i:=1 to 8 do begin  for j:=1 to 8 do
 read(a[i,j]); 
 readln  
end;  
for i:=1 to 8 do
 begin 
 a[0,i]:=' '; a[9,i]:=' ';  a[i,0]:=' '; a[i,9]:=' '  
end; 
 k:=0; 
 for i:=1 to 8 do 
 for j:=1 to 8 do 
 if a[i,j]<>' ' then
begin 
 k:=k+1; U(i,j)  
end;  
write(k); 
 close(output) 
end. 
4,6(85 оценок)
Открыть все ответы
Ответ:
Ychenik3140
Ychenik3140
28.04.2023

Нам важно однозначное разбиение, поэтому вариант "00" не подходит, так как его можно спутать с буквой "Б". Другие значение проверим при дерева.


1. Пусть буква "Г" будет записана в первую ветку (1). Распишем ее.

Первой ветке подходит буква "В", так как код начинается с единицы. Рисуем еще ветку, также с единицей и нулем. Получается, что "В" пойдет во вторую ветку (0), а "Г", соответственно, в первую. Итого получаем: В = 10, Г = 11.


2) Пусть "Г" будет во второй ветке (0). С нуля начинаются буквы "А" и "Б", поэтому их тоже пишем. Рисуем еще две ветки. Так как А = 01, то она пойдет в первую ветку, буквы "Б" и "Г" пишем во вторую. "Б" = 000, поэтому пишем во вторую ветку, следовательно, "Г" пойдет в первую. Итого: А = 01, Б = 000, Г = 001.


Теперь сравним полученные значения. Переведем их в десятичную систему счисления.

11₂ = 1*2¹ + 1*2⁰ = 2 + 1 = 3₁₀.

001₂ = 1*0² + 1*0¹ + 1*2⁰ = 0 + 0 + 1 = 1₁₀.


В итоге, значение 001 является минимальным и соответствует однозначному декодированию.


ответ: 001.


Решение смотри во вложении.


Для передачи по каналу связи сообщения, состоящего только из букв а, б, в, г, решили использовать не
4,4(28 оценок)
Ответ:
kuznetsovapoli
kuznetsovapoli
28.04.2023
1) 144 - это 12². Следующий квадрат - это 13²=169 и из 169 мы никак не получим за 4 вычитания двоек число 144. Поэтому последняя команда - это 1 (возведи в квадрат).
2) Теперь из 2 надо получить 12 не более, чем за 4 команды. Если 2 возвести в квадрат, получим 4 и этого мало, поэтому возведем 4 еще раз в квадрат, получив 16. Два подряд вычитания двоек как раз дадут 12.
3) Решение
1 (возведи в квадрат) - получаем 4
1 (возведи в квадрат) - получаем 16
2 (вычти 2) - получаем 14
2 (вычти 2) - получаем 12
1 (возведи в квадрат) - получаем 144

ответ: 11221
4,6(17 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ