[经典问题][AC代码]玉米地(CowFood)
点赞关注可看此篇博客及其余atcoder,洛谷,cf,loj的AC代码
AC代码
// program cowfood
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
const int d = 100000000;
const int MaxN=12;
int f[MaxN+1][2000+1];
bool w[2000+1][2000+1];
int st[2000+1];
int map[MaxN+1];
int m, n;
bool impossible(int a) // if (a & (a>>1) !=0) …..
{
int i;
bool flag = false;
for (i=1; i<=MaxN; i++) {
if (flag && (a & 1==1))
return true; // 右移一位,上下“&”
flag = (a & 1==1);
a = a >> 1;
}
return false;
}
bool Conflict(int a, int b) // 位运算在此处优化了什么?
{
int i;
for (i=1; i<=MaxN; i++) {
if (a & 1==1 && b & 1==1) return true;
a = a >> 1; // a & b ==0 ?
b = b >> 1;
}
Writep();
fclose(stdin);
fclose(stdout);
return 0;
}