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

Шахматное домино
Комплект шахматного домино состоит из 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")

👇
Открыть все ответы
Ответ:
9000Кира0009
9000Кира0009
24.10.2021

#include <iostream>  

#include <string>  

#include <conio.h>

 

   #define ESC 27

 

using namespace std;

 

int main() {

   char ch;

   int sum = 0;

   do {

       ch = _getch();

       if (ch == ESC) {

           cout << "Output of the program:\n" << sum;

           putchar('\n');

       } else {

           cout << ch;

           sum += (int)ch;

           putchar('\n');

       }

   } while (ch != ESC);

   system("pause");

   return 0;

}

Объяснение:

4,8(96 оценок)
Ответ:
Radmula
Radmula
24.10.2021
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString;
  if s<>s.MatchValue('[01]+') then Write('не ');
  Writeln('двоичное число')
end.

Пример
010101111011
двоичное число

begin
  var s:=ReadlnString;
  if s<>s.MatchValue('[\+-]?\d+.\d+') then Write('не ');
  Writeln('дробное число')
end.

Пример
12.54
дробное число

begin
  var s:=ReadlnString;
  s.Matches('\s([\+-]?\d{2})\s').Select(t->Trim(t.Value)).Println;
end.

Пример
123.3 15 -11.7 +21 23.2 51 9 182
15 +21 51
4,6(65 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ