【题目链接】

点击打开链接

【算法】

状压DP

【代码】

#include<bits/stdc++.h>
using namespace std;
#define MAXN 12
#define MOD 100000000 int M,N,i,j,k,ans,state;
int ST[MAXN+][(<<)+],f[MAXN+][(<<)+],cnt[MAXN+],mat[MAXN+][MAXN+]; template <typename T> inline void read(T &x) {
int f = ; x = ;
char c = getchar();
for (; !isdigit(c); c = getchar()) { if (c == '-') f = -f; }
for (; isdigit(c); c = getchar()) x = x * + c - '';
x *= f;
}
template <typename T> inline void write(T x) {
if (x < ) { putchar('-'); x = -x; }
if (x > ) write(x/);
putchar(x%+'');
}
template <typename T> inline void writeln(T x) {
write(x);
puts("");
} inline void dfs(int dep) {
if (dep > N) ST[i][++cnt[i]] = state;
else {
dfs(dep+);
if (mat[i][dep]) {
if ((dep == ) || (!(state & ( << (N - dep + ))))) {
state |= ( << (N - dep));
dfs(dep+);
state &= (~( << (N - dep)));
}
}
}
} int main() { read(M); read(N); for (i = ; i <= M; i++) {
for (j = ; j <= N; j++) {
read(mat[i][j]);
}
} for (i = ; i <= M; i++) dfs(); for (i = ; i <= cnt[]; i++) f[][i] = ;
for (i = ; i <= M; i++) {
for (j = ; j <= cnt[i]; j++) {
for (k = ; k <= cnt[i-]; k++) {
if (!(ST[i][j] & ST[i-][k]))
f[i][j] = (f[i][j] + f[i-][k]) % MOD;
}
}
} for (i = ; i <= cnt[M]; i++) ans = (ans + f[M][i]) % MOD;
writeln(ans); return ; }

最新文章

  1. js sort() 排序的问题
  2. POSTGRESQL9.5之pg_rman工具
  3. 关于automatic_Panoramic_Image_Stitching_using_Invariant_features 的阅读笔记(2)
  4. SPOJ 416 - Divisibility by 15(贪心)
  5. 使用react-native做一个简单的应用-06商品界面的实现
  6. Linux--线程安全与可重入函数的异同
  7. 入职这一段时间的总结,Don&#39;t Repeat Yourself.
  8. Akka(19): Stream:组合数据流,组合共用-Graph modular composition
  9. HDU - 1584 IDA*
  10. vue-router导航守卫(router.beforeEach())的使用
  11. 命令行神器之argparse使用笔记
  12. SSIS获得Excel行号(转自http://blog.csdn.net/zplume/article/details/19113911)
  13. python的迭代器
  14. SpringDataJPA与Mybatis的优异性
  15. 【转】Android中dip(dp)与px之间单位转换
  16. linux上安装mysql,亲试成功
  17. java获取文件路径
  18. Vue与Element走过的坑。。。。带上Axios
  19. 一个高性能的对象属性复制类,支持不同类型对象间复制,支持Nullable&lt;T&gt;类型属性
  20. M0 M4时钟控制(一)

热门文章

  1. 阻塞IO下的echo回显实验
  2. 某考试 T1 function
  3. IntelliJ IDE 各种插件的安装和使用
  4. Linux下使用curl进行http请求(转)
  5. ios实现下载图片的裁减和显示
  6. IronPython 与C#交互
  7. 跟着实例学习设计模式(7)-原型模式prototype(创建型)
  8. YII 多子域名同步登录
  9. 【转载】C#相等性比较
  10. China Vis 2015 会议小结