洛谷P1879 [USACO06NOV]玉米田Corn Fields--状态压缩
2018-01-24 14:42
239 查看
状态压缩,子集枚举,所有状态都试一遍
#include<iostream> using namespace std; const int N=13; int f [1<<14],g ; int n,m,num; const int P=100000000; int dp(){ f[0][0]=1; for(int i=1;i<=m;i++){ for(int j=0;j<=g[i];j++){ if((j|g[i])>g[i])continue;//状态不合法 if((j&(j<<1)))continue; //判断自己左边行吗? for(int k=0;k<=g[i-1];k++)//判断自己上面行吗? if((j&k)==0) f[i][j]+=f[i-1][k],f[i][j]%=P; } } } int main(){ cin>>m>>n; num=(1<<n); int x; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++){ cin>>x; if(x)g[i]+=(1<<(j-1)); } dp(); int ans=0; for(int i=0;i<=g[m];i++) ans+=f[m][i],ans%=P; cout<<ans<<endl; }
相关文章推荐
- 状压DP【洛谷P1879】 [USACO06NOV]玉米田Corn Fields
- 洛谷P1879 [USACO06NOV]玉米田Corn Fields
- 洛谷P1879 [USACO06NOV]玉米田Corn Fields
- 洛谷P1879 [USACO06NOV]玉米田Corn Fields
- POJ 3254 Corn Fields(状态压缩)代码详解
- poj 3254 Corn Fields 状态压缩dp
- poj3254 Corn Fields (状态压缩dp)
- POJ 3254 Corn Fields (状态压缩DP)
- POJ 3254 Corn Fields 状态压缩DP (C++/Java)
- POJ-3254 Corn Fields 状态压缩DP+滚动数组
- POJ 3254 Corn Fields(状态压缩dp)
- POJ 3254 Corn Fields 状态压缩dp
- POJ 3254 Corn Fields【状态压缩】
- poj 3254 Corn Fields(状态压缩dp)
- poj3254 Corn Fields 状态压缩
- POJ 3254 Corn Fields 状态压缩DP (C++/Java)
- POJ-3254-Corn Fields-DP+状态压缩(入门题)
- Corn Fields(poj3254)状态压缩dp
- poj - 3254 Corn Fields (状态压缩dp入门)
- 【POJ3254】Corn Fields(状态压缩DP)