poj 3254 Corn Fields
2014-06-15 18:25
197 查看
http://poj.org/problem?id=3254
View Code
#include <cstdio> #include <cstring> #include <algorithm> #define maxn 1000 using namespace std; const int mod= 100000000; int dp[500][maxn]; int n,m,t1; int s[500],a[maxn]; void inti() { t1=0; for(int i=0; i<(1<<n); i++) { if((i&(i<<1))==0) { s[t1++]=i; } } } int main() { while(scanf("%d%d",&m,&n)!=EOF) { inti(); for(int i=0; i<m; i++) { a[i]=0; for(int j=0; j<n; j++) { int c; scanf("%d",&c); a[i]+=(c<<j); } } memset(dp,0,sizeof(dp)); for(int i=0; i<t1; i++) { if((a[0]&s[i])==s[i]) { dp[0][i]=1; } } for(int i=1; i<m; i++) { for(int j=0; j<t1; j++) { if((a[i]&s[j])==s[j]) { for(int k=0; k<t1; k++) { if((s[j]&s[k])==0&&dp[i-1][k]!=0) { dp[i][j]=(dp[i][j]+dp[i-1][k])%mod; } } } } } int ans=0; for(int i=0; i<t1; i++) { if(dp[m-1][i]!=0) { ans=(ans+dp[m-1][i])%mod; } } printf("%d\n",ans); } return 0; }
View Code
相关文章推荐
- POJ 3254 Corn Fields
- 状态压缩dp入门 第一题 POJ 3254 Corn Fields
- (POJ - 3254)Corn Fields
- POJ 3254 Corn Fields【状压dp】
- POJ 3254 Corn Fields 已被翻译
- POJ 3254 Corn Fields (状压DP)
- POJ 2441 Arrange the Bulls && POJ 3254 Corn Fields 状压DP入门
- POJ3254--Corn Fields
- poj 3254 Corn Fields
- poj 3254 Corn Fields(状态压缩)
- POJ-3254-Corn Fields(状压DP)
- poj 3254 Corn Fields(状态DP初探)
- POJ 3254 Corn Fields [状压DP]【动态规划】
- POJ 3254 Corn Fields (状压dp)
- poj 3254---Corn Fields
- poj 3254 Corn Fields 【状压 DP 入门】
- POJ-3254-Corn Fields
- POJ 3254 Corn Fields(状态dp)
- POJ 3254 Corn Fields 状态压缩DP
- poj 3254 Corn Fields