求助各位,我也太冤啦。
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int String_Int_Mod(string s){
int res=0;
if(s.front()=='-'){
while (s.size()>1) {
int z=(int)(s.back()-'0');
res=(res*10%mod+z%mod)%mod;
s.pop_back();
}
}
else{
while(s.size()){
int z=(int)(s.back()-'0');
res=(res*10%mod+z%mod)%mod;
s.pop_back();
}
}
return (res*(s.front()=='-'?-1:1)+mod)%mod;
}
vector<int>a(101);
bool check(int x,int n){
int nin=a[n];
for (int i=n; i>=1; i--) {
nin=((nin%mod*x%mod)%mod+a[i-1]%mod)%mod;
}
return nin%mod==0;
}
signed main(){
int n,m;
cin>>n>>m;
string s;
for(int i=0;i<=n;i++){
cin>>s;
a[i]=String_Int_Mod(s);
}
int ans=0;
vector<int>p;
for (int i=1; i<=m; i++) {
if(check(i,n)){
ans++;
p.push_back(i);
}
}
cout<<ans<<endl;
for (auto x:p) {
cout<<x<<endl;
}
return 0;
}