Top.Mail.Ru
Ответы

Помогите с задачей можно либо на python 3.7 либо c++.

Условие
Как вы уже поняли, у Феофана множество увлечений. И ещё одна страсть Феофана - это шахматы. Также, Феофан обожает необычные футболки. Он решил совместить и то, и другое, и хочет заказать себе в магазине пошив футболки с принтом шахматного поля N на N клеток. Он даже подготовил файл с шаблоном принта, но пока мальчик отоходил заваривать себе чай, на клавиатуру его ноутбука залез любопытный кот Борис и понажимал некоторые кнопки мягкими лапками. Теперь Феофан хочет понять, уцелел ли его принт или рисунок шахматного поля на нём оказался нарушен?
Формат входных данных
В первой строке вводится число N(1 ≤ N ≤ 100)~-- размер принта. В следующих N строках вводится по N чисел 0 или 1~-- белого или чёрного цвета клетка,
соответственно.
Формат выходных данных
Выведите слово YES, если принт шахматного поля корректен, то есть состоит из чередующихся белых и чёрных клеток, либо NO, если чередование было нарушено. напиши код c++
пример1:
входные данные
2
1 0
0 1
выходные данные
YES
пример2:
входные данные
3
1 1 0
1 0 1
0 1 1
выходные данные
NO

По дате
По рейтингу
Аватар пользователя
Ученик
10мес
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  #include <iostream> 
#include <vector> 
 
using namespace std; 
 
int main() { 
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL); 
    int N; 
    cin >> N; 
    vector<vector<int>> grid(N, vector<int>(N)); 
    for (int i = 0; i < N; ++i) { 
        for (int j = 0; j < N; ++j) { 
            cin >> grid[i][j]; 
        } 
    } 
 
    bool correct = true; 
    if (N > 0) { 
        int first_cell_val = grid[0][0]; 
 
        for (int i = 0; i < N; ++i) { 
            for (int j = 0; j < N; ++j) { 
                int expected_val = first_cell_val ^ ((i + j) % 2); 
                if (grid[i][j] != expected_val) { 
                    correct = false; 
                    break; 
                } 
            } 
            if (!correct) { 
                break; 
            } 
        } 
    } 
 
    if (correct) { 
        cout << "YES." << endl; 
    } else { 
        cout << "NO." << endl; 
    } 
 
    return 0; 
} 
 
 

 
 

Если работает не так как нужно код, сразу пиши что именно не так

Аватар пользователя
Ученик
10мес

выглядит правдободно, если без нейронки ты не мучай себя, используй using namespace std;

Аватар пользователя
Ученик
10мес

данный код работает за n^2 / 2

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
 #include <iostream>  
 
#include <vector>  
 
using namespace std;  
 
  
 
int main()  
 
{  
 
	int n; cin >> n;  
 
	vector <vector <int>> a(n, vector <int> (n));	  
 
  
 
	for (int i = 0; i < n; ++i)  
 
		for (int j = 0; j < n; ++j)  
 
		{  
 
			int num; cin >> num;  
 
			a[i][j] = num;  
 
		}  
 
	// заполнили матрицу (шахматное поле)  
 
  
 
	for (int i = 0; i < n / 2; ++i)  
 
		for (int j = 0; j < n; ++j)  
 
		{  
 
			if (a[i][j] != a[n - i - 1][n - j - 1])  
 
			{  
 
				cout << "NO";  
 
				return 0;  
 
			}  
 
		}  
 
	// проверяет зеркально элементы с a[0][0] по a[n - 1][n - 1], потом a[0][1] по a[n - 1][n - 2] и тд  
 
  
 
	cout << "YES";  
 
	return 0;  
 		
}  
Аватар пользователя
Ученик
10мес

берешь два for проверяешь если соседние клетки одинаковые или диагональ совпала то пишешь no иначе yes

Аватар пользователя
Ученик
10мес

пиши вот так на c++ короче пробеги по клеткам если соседи одинаковые сразу печатай no если нет то yes

Аватар пользователя
Ученик
10мес

бери два вложенных for сравнивай текущую клетку с соседями по горизонтали и вертикали если одинаковые выводи no иначе yes

Аватар пользователя
Ученик
10мес

бери первый элемент как старт потом проверяй по очереди соседей чтоб отличались и если где то не так сразу no иначе yes

Аватар пользователя
Ученик
10мес

бери n читaй матрицу проверяй соседние разностям если где-то два одинаковых то печатай no иначе да

Аватар пользователя
Мыслитель
10мес

Не знаю про это ничего)

Аватар пользователя
Мудрец
10мес

чатгпт или дипсик

Аватар пользователя
Ученик
10мес

друг, если бы мне нейронка не выдала бы говнокод я бы сюда даже не заходил

Аватар пользователя
Профи
10мес

Python 3.7:

1234567891011121314151617181920212223
 def solve(): 
    n = int(input()) 
    board = [] 
    for _ in range(n): 
        row = list(map(int, input().split())) 
        board.append(row) 
 
    correct = True 
    for i in range(n): 
        for j in range(n): 
            expected_color = (i + j) % 2 
            if board[i][j] != expected_color: 
                correct = False 
                break 
        if not correct: 
            break 
 
    if correct: 
        print("YES") 
    else: 
        print("NO") 
 
solve() 
Аватар пользователя
Ученик
10мес

при
2
1 0
0 1
выдаёт NO. неправильно



Видео по теме