比赛 |
暑假综合模拟2 |
评测结果 |
AAAAAWATTT |
题目名称 |
解方程 |
最终得分 |
60 |
用户昵称 |
Sakura |
运行时间 |
3.094 s |
代码语言 |
C++ |
内存使用 |
2.48 MiB |
提交时间 |
2018-08-05 18:57:29 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
const int p=1000007;
bool t=true;
int n,m,cnt=0,num=0,sum;
int A[103],ans[1000003];
ll read()
{
ll sum=0,fg=1;
char c=getchar();
while(c < '0' || c > '9')
{
if(c=='-') fg=-1;
c=getchar();
}
while(c >='0' && c <='9')
{
sum=((sum*10)+c-'0')%p;
c=getchar();
}
return sum*fg;
}
void print(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
{
print(x/10);
}
putchar(x%10+'0');
}
bool qjs(ll a){
sum=0;
for(int i=n;i>=1;i--){
sum=((A[i]+sum)*a)%p;
}
sum=(sum+A[0])%p;
return !sum;
}
int main()
{
freopen("equationa.in","r",stdin);
freopen("equationa.out","w",stdout);
n=read();
m=read();
for(int i=0;i<=n;i++){
A[i]=read();
}
for(int i=1;i<=m;i++){
if(qjs(i)){
t=false;
cnt++;
ans[++num]=i;
}
}
if(t){
cout<<cnt<<endl;
return 0;
}
print(cnt);
printf("\n");
for(ll i=1;i<=num;i++){
print(ans[i]);
printf("\n");
}
return 0;
}