Решение задачи Ферзи с Mccme

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


Известно, что на доске 8×8 можно расставить 8 ферзей так, чтобы они не били друг друга. Вам дана расстановка 8 ферзей на доске, определите, есть ли среди них пара бьющих друг друга.


Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int aa, bb;
    vector<int> a;
    vector<int> b;
    for(int i = 0; i < 8; ++i){
        cin >> aa >>  bb;
        a.push_back(aa);
        b.push_back(bb);
    }
    for(int i = 0; i < a.size() - 1; ++i){
        for(int j = i + 1; j < a.size(); ++j){
            if(abs(a[i] - a[j]) == abs(b[i] - b[j]) || (a[i] == a[j]) || (b[i] == b[j])){
                cout << "YES";
                return 0;
            }
        }
    }
    cout << "NO";
    return 0;
}

         

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


Код

a = []
b = []
for i in range(8):
    aa, bb = map(int, input().split())
    a.append(aa)
    b.append(bb)
for i in range(len(a) - 1):
    for j in range(i + 1, len(a)):
        if abs(a[i] - a[j]) == abs(b[i] - b[j]) or (a[i] == a[j]) or (b[i] == b[j]):
            print("YES")
            exit()
print("NO")

         

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



Комментарии

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