Bit Soccer

大力贪心 + 还是要好好学 Python

想复杂了

又想复杂了。。

IEEE XTreme 12.0 Bit Soccer

题目描述

给你一个数列 $A$ ,询问是否存在一组数使得 $\texttt {OR} ^k {j = 1}A{i_j} = x$

题解

贪心,如果每个数都可以被 $x$ 包含的话,我们就可以选这个数,否则不行;

最后如果这样子选等于 $x$ 的话,就是 YES ,反之就是 NO

AC Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, m;
ll A[maxn], q, ans;
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; ++ i) scanf("%lld", A + i);
scanf("%d", &m);
while(m --)
{
scanf("%lld", &q);
ans = 0;
for(int i = 1; i <= n; ++ i)
if((A[i] | q) == q)
ans |= A[i];
ans == q ? puts("YES") : puts("NO");
}
return 0;
}
文章目录
  1. 1. IEEE XTreme 12.0 Bit Soccer
    1. 1.1. 题目描述
    2. 1.2. 题解
    3. 1.3. AC Code
{{ live2d() }}