首页 > 代码库 > NOIP2014 解方程
NOIP2014 解方程
描述
已知多项式方程:
a0+a1x+a2x2+...+anxn=0a0+a1x+a2x2+...+anxn=0
求这个方程在[1, m]内的整数解(n 和 m 均为正整数)。
格式
输入格式
输入共 n+2 行。
第一行包含 2 个整数 n、m,每两个整数之间用一个空格隔开。
接下来的 n+1 行每行包含一个整数,依次为a0,a1,a2,...,ana0,a1,a2,...,an
。
输出格式
第一行输出方程在[1, m]内的整数解的个数。
接下来每行一个整数,按照从小到大的顺序依次输出方程在[1, m]内的一个整数解。
样例1
样例输入1[复制]
2 101-21
样例输出1[复制]
11
样例2
样例输入2[复制]
2 102-31
样例输出2[复制]
212
样例3
样例输入3[复制]
2 10132
样例输出3[复制]
0
限制
对于 30%的数据,0 < n ≤ 2, |ai||ai|
≤ 100,anan
≠ 0, m ≤ 100;
对于 50%的数据,0 < n ≤ 100, |ai||ai|
≤ 1010010100
,anan
≠ 0,m ≤ 100;
对于 70%的数据,0 < n ≤ 100, |ai||ai|
≤ 10100001010000
,anan
≠ 0,m ≤ 10000;
对于 100%的数据,0 < n ≤ 100, |ai||ai|
≤ 10100001010000
,anan
≠ 0,m ≤ 1000000。
今天先水个30分。。。
1 #include<iostream> 2 #include<vector> 3 #include<algorithm> 4 using namespace std; 5 6 long long n,m; 7 long long A[101]; 8 9 long long i;10 vector<long long> T;11 12 long long dfs(long long p)13 {14 if(p==0) return A[n];15 return dfs(p-1)*i+A[n-p];16 }17 18 int main()19 {20 cin>>n>>m;21 for(long long i=0;i<=n;i++) cin>>A[i];22 for(i=1;i<=m;i++)23 if(dfs(n)==0) T.push_back(i);24 cout<<T.size()<<endl;25 for(long long i=0;i<T.size();i++)26 cout<<T[i]<<endl;27 return 0;28 }
NOIP2014 解方程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。