为什么全部RE了
查看原帖
为什么全部RE了
333800
qip101楼主2022/10/13 22:13
#include <bits/stdc++.h>
using namespace std;
int cnt[2005],a[105][2005],n,m;
long long ans;
const long long MOD=998244353;
void dfs(int x,long long sum)
{
	if(x>n)
	{
		long long num=0;
		for(int i=1;i<=m;i++)
			num+=cnt[i];
		num/=2;
		for(int i=1;i<=m;i++)
			if(cnt[i]>num)
				return;
		ans+=sum;
		ans=ans%MOD;
		return;
	}
	dfs(x+1,sum);
	for(int i=1;i<=m;i++)
	{
		if(a[x][i]==0)
			continue;
		cnt[i]++;
		dfs(x+1,sum*a[x][i]%MOD);
		cnt[i]--;
	}
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			scanf("%d",a[i][j]);
	dfs(1,1);
	printf("%lld\n",ans-1);
	return 0;
}
2022/10/13 22:13
加载中...