Unaccepted 100 第二个子任务全WA求调
查看原帖
Unaccepted 100 第二个子任务全WA求调
665455
our_gzzx_coding楼主2023/8/3 17:07
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

#define int long long
int n,m,f[15][1<<11],a[15];
const int MOD=1e8;
int dfs(int x,int last)//last表示上一行的状态
{
	if(f[x][last])return f[x][last];
	if(x==n+1)return 1;
	for(int i=0;i<(1<<m);i++)
	{
		if((i&last)||(i&(i>>1)))
		{
			continue;
		}
		if(i!=(i&a[x]))continue;
		f[x][last]+=dfs(x+1,i),f[x][last]%=MOD;
	}
	return f[x][last];
}
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			int t;
			cin>>t;
			a[i]=a[i]*2+t;
		}
	}
	cout<<(dfs(1,0)+MOD)%MOD;
	return 0;
}
2023/8/3 17:07
加载中...