样例错误,求助qwq
#include <bits/stdc++.h>
#define mem(a , b) memset(a , b , sizeof a)
#define N 13
#define M 2*N
#define inf 0x3f3f3f
#define mod 100000000
#define nulls ios::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
#define ll long long
#define endl '\n'
using namespace std;
int n , m , r[N] , dp[N][(1 << N)];
int main() {
nulls;
cin >> n >> m;
for(int i = 1 ; i <= n ; i++) {
for(int j = 1 ; j <= m ; j++) {
int x ;
cin >> x;
r[i] <<= 1;
r[i] |= x;
//111 101
}
}
for(int i = 0 ; i < (1 << m) ; i++) {
if((i & r[1] == i) && (((i << 1) & i) == 0)) {
dp[1][i] = 1;
}
}
for(int i = 2 ; i <= n ; i++) { //枚举行
for(int j = 0 ; j < (1 << m) ; j++) { //枚举上一行
for(int k = 0 ; k < (1 << m) ; k++) { //枚举当前状态
if(((k & r[i]) == k) && (((k << 1) & k) == 0) && ((j&k) == 0)) {
dp[i][k] = (dp[i][k] + dp[i - 1][j]) % mod;
}
}
}
}
ll ans = 0;
for(int i = 0 ; i < (1 << m) ; i++) {
ans = (ans + dp[n][i]) % mod;
}
cout << ans ;
return 0;
}