社区讨论

求助

P2049魔术棋子参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@locxzo58
此快照首次捕获于
2023/10/30 21:35
2 年前
此快照最后确认于
2023/11/05 07:57
2 年前
查看原帖
RT
CPP
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int n , m , k ;
int a[105][105] ;
bool b[105][105][105] ;

int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
  cin >> n >> m >> k ;
  for ( int i = 1 ; i <= n ; i ++ ) {
  	for ( int j = 1 ; j <= m ; j ++ ) {
  		cin >> a[i][j] ;
		}
	}
	b[1][1][a[1][1]%k]=1;
	for ( int i = 1 ; i <= n ; i ++ ) {
		for ( int j = 1 ; j <= m ; j ++ ) {
			for ( int l = 0 ; l < k ; l ++ ) {
				if(b[i][j][l])
	        b[i+1][j][(l*a[i][j])%k] = b[i][j+1][(l*a[i][j])%k] = 1 ;
			}
		}
	}
	int ans = 0 ;
	for ( int i = 0 ; i < k ; i ++ ) {
		if(b[n][m][i])ans++;
	}
	cout <<ans << endl ;
	for ( int i = 0 ; i < k ; i ++) {
		if(b[n][m][i])cout << i << ' ' ;
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...