int a[101],b[101];
int main()
{
int n;
while(cin>>n&&n)
{
map<int,int> m;
bool p=1;
for(int i=1;i<=n;i++) a[i]=read();
for(int i=n-1;i>=0;i--) b[i]=read();
m[1]=1;m[0]=a[1];//初始化加入第一项
for(int i=2;i<=n;i++)
{
map<int,int> m1,m2;
for(int j=0;j<=n;j++) m1[j]=0,m2[j]=0;//每次都要初始化
for(int j=0;j<=n;j++) if(m[j]!=0) m1[j+1]+=m[j];//存储x乘以每一项
for(int j=0;j<=n;j++) if(m[j]!=0) m2[j]+=m[j]*a[i];//存储常数a[i]乘以每一项
for(int j=0;j<=n;j++) m[j]=m1[j]+m2[j];//两个结果合并即可
}
for(int i=n-1;i>=0;i--) if(m[i]!=b[i]) p=0;
if(p) cout << "Y" << endl;
else cout << "N" << endl;
}
return 0;
}
c++ 相等的多项式 程序设计
最新推荐文章于 2024-09-15 11:40:06 发布