90分,第三测试点过不了了,求助感谢感谢!

P1067 [NOIP2009 普及组] 多项式输出

忘了最后一个else if的循环里加上后面的ci==0 else if(ci==-1||ci==0); 但是还是过不了第三个,别的都能过?输出结果都一样,为啥啊?
by 一世我染 @ 2023-08-27 10:47:18


@[一世我染](/user/124966) 用```cin```吧,应该是字符的问题,是什么我就不知道了.这题枚举每个情况就能过. ------------ ``` #include<bits/stdc++.h> using namespace std; long long n,a[1001000];string b; int main() { cin>>n; for(int i=1;i<=n+1;i++) cin>>a[i]; if(n==0){cout<<a[1];return 0;}//n=0,直接输出 for(int i=1;i<=n+1;i++) { if(a[i]==0) continue;//字符为零,跳过 else if(n-i+1==1&&a[i]==1)//枚举指数为1、系数为1 cout<<"+x"; else if(n-i+1==1&&a[i]<0)//枚举指数为1、系数为负 cout<<a[i]<<"x"; else if(n-i+1==1&&a[i]>1)//枚举指数为1、系数为大于1正数 cout<<"+"<<a[i]<<"x"; else if(n-i+1==0&&a[i]>0)//枚举指数为0、系数为正 {cout<<"+"<<a[i];break;} else if(n-i+1==0&&a[i]<0)//枚举指数为0、系数为负 {cout<<a[i];break;} else if(a[i]==1&&i==1)//枚举指数为n、系数为1 cout<<"x^"<<n; else if(a[i]==1&&i>1)//枚举指数为n、系数为大于1正数 cout<<"+x^"<<n-i+1; else if(a[i]==-1)//枚举系数为-1 cout<<"-x^"<<n-i+1; else if(a[i]<0)//枚举系数为小于-1负数 cout<<a[i]<<"x^"<<n-i+1; else if(a[i]>1&&i>1)//枚举指数小于n、系数大于1 cout<<"+"<<a[i]<<"x^"<<n-i+1; else if(a[i]>1&&i==1)//枚举指数等于n、系数大于1 cout<<a[i]<<"x^"<<n; } } ```
by CGk_by_SA @ 2023-09-06 23:47:53


@[jiangkaiqi](/user/1040169) 好的,感谢解答了!
by 一世我染 @ 2023-09-11 17:30:13


|