标签:flag ons str ORC const pre return ace class
这个题目不会,上网查了一下,发现一个结论就是如果是可以的,那么两个肯定可以满足。
然后就用二进制来压一下这个状态就可以了。
#include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> #include <queue> #include <vector> #include <iostream> #include <string> #define inf 0x3f3f3f3f #define inf64 0x3f3f3f3f3f3f3f3f using namespace std; const int maxn = 1e5 + 10; typedef long long ll; bool vis[100]; int main() { int n, m, flag = 0; scanf("%d%d", &n, &m); int sum = (1 << m); for(int i=1;i<=n;i++) { int now = 0; for(int j=1;j<=m;j++) { int x; scanf("%d", &x); if (x) now |= (1 << (j - 1)); } vis[now] = 1; } for(int i=0;i<sum;i++) { if (vis[i] == 0) continue; for(int j=0;j<sum;j++) { if (vis[j] == 0) continue; if ((i&j) == 0) flag = 1; } } if (flag) printf("YES\n"); else printf("NO\n"); return 0; }
F - Qualification Rounds CodeForces - 868C 二进制
标签:flag ons str ORC const pre return ace class
原文地址:https://www.cnblogs.com/EchoZQN/p/11404136.html