poj 1321
来源:互联网 发布:开淘宝店怎么寻找货源 编辑:程序博客网 时间:2024/05/17 05:56
题目
状态dp,dp[i][j]表示进行到第i行,前i-1行的状态是j的最优答案,j中1的个数表示放了多少个,注意对于一行,可放可不放
#include <stdio.h>#include <vector>#include <string.h>#include <algorithm>using namespace std;int n,k;char map[9][9];int all;int dp[2][(1<<8)+1];inline int getone(int i){ int ans=0; while(i) ans++,i-=i&(-i); return ans;}int main(){ while(~scanf("%d%d",&n,&k)){ if(n==-1 && k==-1) break; for(int i=0;i<n;i++) scanf("%s",map[i]); memset(dp,0,sizeof(dp)); dp[0][0]=1; all=(1<<n); int now=0; int ans=0; for(int i=0;i<n;i++){ now^=1; memset(dp[now],0,sizeof(dp[now])); for(int j=0;j<all;j++){ if(!dp[1-now][j]) continue; for(int r=0;r<n;r++){ if(map[i][r]=='#' && (!(j&(1<<r)))){ dp[now][j^(1<<r)]+=dp[1-now][j]; } } dp[now][j]+=dp[1-now][j]; } } for(int i=0;i<all;i++){ if(getone(i)==k) ans+=dp[now][i]; } printf("%d\n",ans); }}
0 0
- poj 1321
- poj 1321
- poj 1321
- poj 1321
- poj-1321
- poj 1321
- poj 1321
- poj 1321
- poj 1321
- poj 1321
- poj 1321
- POJ 1321
- POJ 1321
- poj --1321
- poj 1321
- poj-1321
- poj 1321
- POJ 1321
- IE6 WEB开发调试插件:IE Developer Toolbar
- 老兵贺苏-30驱日机:是我们的作风(1)
- C#基础复习
- XML的四种解析方式之DOM
- DOM解析XML
- poj 1321
- java 2013-1
- oracle中的函数
- AMR音频编码器概述及文件格式分析
- 如何连续的测量蓝牙的RSSI
- hibernate实践之一
- 怎么去掉图片作为超链接时出现的框框
- 黑马程序员-面向对象01
- 免费智能建站系统大全