社区讨论
不快读+秦九韶+(1e9+7)却 30 分
P2312[NOIP 2014 提高组] 解方程参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lok7nsu7
- 此快照首次捕获于
- 2023/11/04 23:40 2 年前
- 此快照最后确认于
- 2023/11/04 23:40 2 年前
求助各位,我也太冤啦。
CPP#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;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...