Решение задачи "Пётр и кодовый замок" с Codeforces

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


Пётр недавно купил новую машину. Он только приехал на самую известную заправку города Санкт-Петербурга чтобы пополнить свой бензобак, как обнаружил, что бензобак защищён кодовым замком. Замок имеет шкалу в 360 градусов и указатель, который изначально указывает на ноль.
Петр позвонил в свой автосалон и узнал, что должен повернуть колесо замка ровно n раз, причём i-й поворот должен составлять ровно ai градусов. После всех n поворотов указатель должен снова указать на ноль.

Это немного озадачило Петра, так как он не знает, какие повороты следует сделать по часовой стрелке, а какие против. Так как есть много разных вариантов, помогите ему и узнайте, есть ли хотя бы один способ сделать все n поворотов так, чтобы указатель в конце снова указывал на ноль.

Код

#include<bits/stdc++.h>
using namespace std;
int n,a[21];
int main()
{
	cin >> n;
	for(int i = 0; i < n; i++)
        cin >> a[i];
	for(int s = 0; s < (1 << n); s++)
	{
		int c = 0;
		for(int j = 0;j < n; j++)
			if(s & (1 << j))
                c += a[j];
			else 
                c -= a[j];
		if(c % 360 == 0)
            return puts("YES"),0;
	}
	puts("NO");
}

         

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


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

Комментарии

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