Решение задачи Проверка на симпатичность с Acmp

Без пояснения   Просмотров: 76


Рассмотрим таблицу, содержащую n строк и m столбцов, в каждой клетке которой расположен ноль или единица. Назовем такую таблицу симпатичной, если в ней нет ни одного квадрата 2 на 2, заполненного целиком нулями или целиком единицами.

Так, например, таблица 4 на 4, расположенная слева, является симпатичной, а расположенная справа таблица 3 на 3 - не является.
Задано несколько таблиц. Необходимо для каждой из них выяснить, является ли она симпатичной.


Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int k,n,m,temp;
    bool ok;
    cin >> k;
    for(int h = 0; h < k; ++h){
        ok = true;
        cin >> n >> m;
        vector<int> t;
        vector<vector<int> > a;
        for(int i = 0; i < n; ++i){
            t.clear();
            for(int j = 0; j < m; ++j){
                cin >> temp;
                t.push_back(temp);
            }
            a.push_back(t);
        }
        for(int i = 0; i < n - 1; ++i)
            for(int j = 0; j < m - 1; ++j)
                if((a[i][j] + a[i][j+1] +a[i+1][j] + a[i+1][j+1]) % 4 == 0)
                    ok = false;
        if(ok)
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться