P1879 [USACO06NOV]状压dp

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+5;
const int mod = 100000000;
int n, m, cc[20][20], st[1<<13], mp[13], dp[13][1<<13];
int Case = 1;
void solve() {
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++) {
    	for(int j = 1; j <= m; j++) {
    		scanf("%d", &cc[i][j]);
    		mp[i] = (mp[i]<<1) + cc[i][j];
    	}
    }
    dp[0][0] = 1;
    int mx = 1<<m;
    for(int i = 0; i < mx; i++)
    	st[i] = ((i&(i<<1)) == 0);
    for(int i = 1; i <= n; i++)
    	for(int j = 0; j < mx; j++)
    		if(((j&mp[i]) == j) && st[j])
    			for(int k = 0; k < mx; k++)
    				if((k&j) == 0)
    					dp[i][j] = (dp[i][j] + dp[i-1][k])%mod;
    int res = 0;
    for(int i = 0; i < mx; i++)
    	 res = (res + dp[n][i])%mod;
    printf("%d\n", res);
    return;
}

int main() {
    while(Case--) {
        solve();
    }
    return 0;
}
全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
10-19 14:15
兰州大学 Java
黄花菜豆:咱俩bg很一致啊uu而且我也做过这个仿小红书,感觉有点太深了短期内不好驾驭啊怕被问穿
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务