求助
查看原帖
求助
316827
Temperature_automata楼主2020/11/16 13:03

RT

#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;
}
2020/11/16 13:03
加载中...