70分巨弱求助
  • 板块P2049 魔术棋子
  • 楼主GECSD
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/14 16:19
  • 上次更新2024/7/14 17:43:45
查看原帖
70分巨弱求助
1031699
GECSD楼主2024/7/14 16:19
#include<bits/stdc++.h>
using namespace std;
long long int m,n,k,a[200][200],sum;
bool dp[150][150][150];
int main()
{
	cin>>m>>n>>k;
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			cin>>a[i][j];
	dp[0][1][1]=1;
	dp[1][0][1]=1;
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			for(int w=0;w<k-1;w++)
			{
				if(dp[i-1][j][w])
					dp[i][j][w*a[i][j]%k]=1;
				if(dp[i][j-1][w])
					dp[i][j][w*a[i][j]%k]=1;
			}
	for(int i=0;i<k-1;i++)
		if(dp[m][n][i])
			sum++;
	cout<<sum<<"\n";
	for(int i=0;i<k-1;i++)
		if(dp[m][n][i])
			cout<<i<<' ';
}
2024/7/14 16:19
加载中...