90分,第3个测试点错的。

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

知道哪里错了,谢谢各位大佬!!
by zhangyuzhe @ 2018-06-17 12:59:53


```cpp void f(int y,int i){//y是系数,i是第几个 if(y==0) return; else if(i==1&&y!=1){ if(y>1) cout<<'+'<<y<<'x'; if(y<0) cout<<y<<'x'; } else if(y==1){ if(i==n) cout<<"x^"<<i; if(i==1) cout<<"+x"; if(i!=n&&i!=1) cout<<"+x^"<<i; } else if(y>1){ if(i==n) cout<<y<<"x^"<<i; if(i!=n) cout<<'+'<<y<<"x^"<<i; } else if(y==-1) cout<<'-'<<"x^"<<i; else if(y<-1) cout<<y<<"x^"<<i; } ```
by ComeOver· @ 2018-07-06 10:24:11


@[2017BeiJiang](/space/show?uid=105222)
by ComeOver· @ 2018-07-06 10:24:23


这是输出判断,不用写这么长 ```cpp for(int i=1;i<=n+1;i++) { if(a[i]==0) continue; if(i==1) { if(n-i+1==1) { if(a[i]!=1&&a[i]!=-1) { cout<<a[i]<<"x"; continue; } else { if(a[i]>0)cout<<"x"; else cout<<"-x"; continue; } } if(a[i]!=-1&&a[i]!=1) cout<<a[i]<<"x^"<<n-i+1; else { if(a[i]==1) cout<<"x^"<<n-i+1; if(a[i]==-1) cout<<"-x^"<<n-i+1; } } else { if(n-i+1==1) { if(a[i]<0) cout<<a[i]<<"x"; else cout<<"+"<<a[i]<<"x"; continue; } if(n-i+1==0) { if(a[i]<0) cout<<a[i]; else cout<<"+"<<a[i]; return 0; } if(a[i]>0) { if(a[i]!=1) cout<<"+"<<a[i]<<"x^"<<n-i+1; else cout<<"+x^"<<n-i+1; } else { if(a[i]!=-1) cout<<a[i]<<"x^"<<n-i+1; else cout<<"-x^"<<n-i+1; } } } ``` 这是您的做法
by ComeOver· @ 2018-07-06 10:25:33


我也是第三个过不去。。。楼主教教啊
by BillPan @ 2018-10-20 13:25:27


|