博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj3254
阅读量:6001 次
发布时间:2019-06-20

本文共 1392 字,大约阅读时间需要 4 分钟。

状态压缩dp,数据弱,本程序时间效率O(12 * (2^24))

View Code
#include 
#include
#include
#include
using namespace std;#define maxn 13#define mod 100000000int row, column;int filter[maxn];int f[maxn][1 << maxn];void input(){ scanf("%d%d", &row, &column); for (int i = 1; i <= row; i++) { filter[i] = 0; for (int j = 0; j < column; j++) { int a; scanf("%d", &a); filter[i] = (filter[i] << 1) + a; } }}bool ok(int a, int b){ if ((a & filter[b]) != a) return false; int x = 3; for (int i = 0; i < column - 1; i++) { if ((a & x) == x) return false; x = x << 1; } return true;}void work(){ memset(f, 0, sizeof(f)); int n = 1 << column; f[0][0] = 1; for (int i = 1; i <= row; i++) { for (int j = 0; j < n; j++) { if (!ok(j, i)) continue; for (int k = 0; k < n; k++) if ((k & j) == 0) f[i][j] = (f[i][j] + f[i - 1][k]) % mod; } } int ans = 0; for (int i = 0; i < n; i++) ans = (ans + f[row][i]) % mod; printf("%d\n", ans);}int main(){ //freopen("t.txt", "r", stdin); input(); work(); return 0;}

转载于:https://www.cnblogs.com/rainydays/archive/2012/07/04/2576370.html

你可能感兴趣的文章
233 Matrix
查看>>
深入学习jQuery自定义插件
查看>>
L2TP/IPSec一键安装脚本
查看>>
android以json形式提交信息到服务器
查看>>
CetnOS 6.7安装Hive 1.2.1
查看>>
最短最优升级路径(完美世界2017秋招真题)
查看>>
【PHP基础】错误处理、异常处理
查看>>
Android之drawable state各个属性详解
查看>>
Linux——网段的划分,子网掩码,ABC类地址的表示法
查看>>
android开发(22)使用正则表达式 。从一个字符串中找出数字,多次匹配。
查看>>
AJAX
查看>>
2015 多校联赛 ——HDU5334(构造)
查看>>
几个ES6新特性
查看>>
mysql字符集
查看>>
DP_1d1d诗人小G
查看>>
非、半、结构化数据学习【转载】
查看>>
SpringMVC之单/多文件上传
查看>>
avalon加载一闪而过现象
查看>>
线段树模板【数据结构 - 线段树】
查看>>
Castle IOC概念理解
查看>>