Елька165
17.02.2022 12:25

Шахматное домино
Комплект шахматного домино состоит из 32 костяшек 2×1, каждый из квадратов которой окрашен в черный или белый цвет (часть костяшек состоит из двух белых квадратов, часть – из двух черных, а часть из одного белого и одного черного). Комплект такого домино выложен на шахматную доску. Разрешается поворачивать костяшки домино на 180 градусов (менять местами их квадраты), оставляя каждую костяшку на своем месте. Требуется выяснить, можно ли так повернуть часть костей домино, чтобы в каждом горизонтальном ряду были квадраты только одного цвета.

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

Вводится 8 строк по 8 чисел. Каждое число соответствует номеру доминошки, которая покрывает данную клетку. Число положительное, если квадрат доминошки белый и отрицательное — если черный.

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

Требуется вывести одно слово – YES или NO (заглавными буквами).
Примеры
Ввод:
1 2 2 7 7 8 8 9
1 3 6 10 10 11 11 9
4 3 6 31 31 -24 23 -12
-4 -5 -5 30 -32 24 -23 12
28 29 29 -30 32 25 22 13
28 27 27 26 26 25 22 13
18 19 19 20 20 21 21 14
18 17 17 16 16 15 15 14
Вывод люди на любом из языков (Java,Python,C++)

Вот решение Python, но оно не правильное
import sys

MATRISA = []

for i in range(8):
MATRISA.append(list(map(int, input().split(
for i in range(7):
VAR1 = True
for j in range(7):
if MATRISA[i][j] // abs(MATRISA[i][j]) != MATRISA[i][j + 1] // abs(MATRISA[i][j + 1]):
VAR1 = False
if VAR1 == True:
continue
else:
for j in range(8):
if MATRISA[i][j] < 0:
t1 = MATRISA[i + 1][j]
t2 = MATRISA[i][j]
MATRISA[i][j] = t1
MATRISA[i + 1][j] = t2
VAR2 = True
for pop in range(7):
if MATRISA[i][pop] // abs(MATRISA[i][pop]) != MATRISA[i][pop + 1] // abs(MATRISA[i][pop + 1]):
VAR2 = False
if VAR2 == True:
break
else:
if j == 7:
print("NO")
sys.exit(0)
VAR3 = True
for j in range(7):
if MATRISA[7][j] // abs(MATRISA[7][j]) != MATRISA[7][j + 1] // abs(MATRISA[7][j + 1]):
mt2 = False
if VAR3 == True:
print("YES")
else:
print("NO")

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
екатерина696
20.07.2021 10:05
1.
Begin
 Writeln('Привет!');
 Writeln('Меня зовут Саша!');
 Writeln('Я студентка 2-ого курса начального образования!');
 Writeln('Я будущий учитель младших классов...');
end.

2.
var n:Integer;
Begin
 Read(n);
 Writeln('Квадрат =',n*n);
end.

3.
var a:Integer;
Begin
 Read(a);
 Writeln('S = ',a*a);
 Writeln('P = ',4*a);
end.

4. var n:Integer;
   Begin
     Read(n);
     Writeln(n+10);
  end.

5. var a,b:Integer;
   Begin
     Read(a,b);
     Writeln(' S = ',a*b);
     Writeln(' P = ',2*(a+b));
   end.

6. var a,b,c:Integer;
   Begin
     Read(a,b,c);
     Writeln('Сума = ',a+b+c);
   end.
0,0(0 оценок)
Ответ:
Нафунька
28.03.2023 20:42

1)

var

  a, b, s : real;

begin

  read (a, b);

  s := a * b;

  write (s:10:4);

end.

 

2)

var

  a, b, c, k : integer;

begin

  read (a, b, c);

  k := 0;

  if a > 0 then inc (k);

  if b > 0 then inc (k);

  if c > 0 then inc (k);

  writeln (k);

end.

 

3)

var

  a : integer;

begin

  read (a);

  writeln ((a mod 10) * (a mod 100 div 10) * (a div 100 mod 10) * (a div 1000));

end.

 

4)

var

  c, n : integer;

begin

  read (n);

  c := 0;

  repeat

    inc (c);

    n := n div 10;

  until n = 0;

  writeln (c);

end.

 

5)

var

  n, sum, i : integer;

begin

  read (n);

  sum := 0;

  for i := 1 to n do

    sum := sum + i;

  writeln (sum);

end.

 

6)

var

  d, n, k : integer;

begin

  read (n, k);

  d := 0;

  while n >= k do

  begin

    d := d + 1;

    n := n - k;

  end;

  writeln ('n div k = ', d);

  writeln ('n mod k = ', n);

end.

 

7)

var

  n, sum, i, tmp : integer;

begin

  read (n);

  sum := 0;

  for i := 1 to n do

  begin

    read (tmp);

    sum := sum + tmp;

  end;

  writeln (sum / n);

end.

 

8)

var

  i, n, s : integer;

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

begin

  s := 2;

  read (n);

  for i := 1 to n do

  begin

    a[i] := s;

    s := s + 2 * i + 1;

  end;

  for i := 1 to n do write (a[i], ' ');

end.

 

9)

var

  n, i, count, tmp : integer;

begin

  read (n);

  count := 0;

  for i := 1 to n do

  begin

    read (tmp);

    if tmp < 0 then inc (count);

  end;

  writeln (count);

end.

 

10)

var

  n, i, j : integer;

begin

  read (n);

  for i := 1 to n do

  begin

    for j := 1 to i do

      write ('*');

    writeln;

  end;

end.

 

11) //Не понял, как заполняется массив? Тут рандом

var

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

  i, n : integer;

begin

  read (n);

  for i := 1 to n do

    a[i] := trunc (random (1000)) - 500;

  for i := 1 to n do

    if a[i] > 0 then a[i] := a[i] * (-1)

   else if a[i] < 0 then a[i] := sqr (a[i]);

  for i := 1 to n do

    write (a[i], ' ');

end.

 

12)

var

  n, i, count : integer;

begin

  read (n);

  count := 0;

  for i := 1 to n do

    if n mod i = 0 then inc (count);

  writeln (count);

end.

 

  

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