例题:https://codeforces.com/problemset/problem/1097/B
code:
#include<bits/stdc++.h>
using namespace std;
int a[16];
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i];
int ans = 0;
bool flag = false;
for(int i = 0; i < (1<<n); i++){//n个物品,枚举每个物品取或不取
ans = 0;
for(int j = 1; j <= n; j++){
if(i & (1<<j)){
//i的二进制表示对于n个物品取或不取的状态
//(1<<j)是j的编号
//此时i表示的状态中取了编号为(1<<j)的元素,即第j个元素
ans += a[j];
}
else{
//此时不取第j个元素
ans -= a[j];
}
}
if(ans % 360 == 0){
flag = true;
break;
}
}
if(flag) puts("YES");
else puts("NO");
return 0;
}