tema
Enlace del título: 1395C
Vídeo de referencia: Bilibili
Ideas
Encuentre c 1 c_1C1| c 2 c_2C2| c 3 c_3C3| … | cn c_nCnLa x resultante, donde ci c_iCyo = = = ai a_iunyo^ bj b_jsegundojSe
puede ver que el rango de datos de la pregunta no es grande, por lo que podemos enumerar todas las respuestas.
Para todos ai a_iunyo, Si xxx | (ai (a_i( unyo& bj) b_j)segundoj) ==xxx se establece, entoncesxxx es la respuesta deseada.
Código AC
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, m;
scanf("%d%d", &n, &m);
int a[210], b[210];
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
for (int j = 0; j < m; j++) scanf("%d", &b[j]);
for (int x = 0; x < (1 << 9); x++) {
int f = 0;
for (int i = 0; i < n; i++) {
int ff = 0;
for (int j = 0; j < m; j++) {
if (((a[i] & b[j]) | x) == x) {
ff = 1; // 表示当前i与j满足等式
break;
}
}
// 当没有满足等式时,当前x不符合题意,枚举下一个
if (ff == 0) {
f = 1;
break;
}
}
if (f == 0) {
printf("%d\n", x);
return 0;
}
}
return 0;
}