• Бригаде строителей поручили уложить квадратной плиткой пол на кухне в виде шахматного узора. Но строители работали не очень слаженно, и когда весь пол уже был уложен, оказалось, что в некоторых местах плитки одинакового цвета граничат друг с другом.

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

    Входные данные

    Входной файл INPUT.TXT содержит восемь строк, состоящих из восьми символов W и B – полученное замощение. Символ W обозначает плитку белого цвета, а символ B – чёрную.

    Выходные данные

    В выходной файл OUTPUT.TXT нужно вывести одно число - искомое число строителей.

Ответы 1

  • 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. 
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years