题目
RE 代码:
#include<bits/stdc++.h>
using namespace std;
int a[105][105];
vector<int> f[105][105];
int main(){
int m,n,k;
cin>>m>>n>>k;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
f[1][1].push_back(a[1][1]);
for(int i=2;i<=n;i++){
f[1][i].push_back(f[1][i-1][0]*a[1][i]%k);
}
for(int i=2;i<=m;i++){
f[i][1].push_back(f[i-1][1][0]*a[i][1]%k);
}
for(int i=2;i<=m;i++){
for(int j=2;j<=n;j++){
for(auto l:f[i-1][j]){
f[i][j].push_back(l*a[i][j]%k);
}
for(auto l:f[i][j-1]){
f[i][j].push_back(l*a[i][j]%k);
}
}
}
set<int> t(f[m][n].begin(),f[m][n].end());
f[m][n]=vector<int>(t.begin(),t.end());
sort(f[m][n].begin(),f[m][n].end());
cout<<f[m][n].size()<<endl;
for(int i:f[m][n]){
cout<<i<<" ";
}
return 0;
}