题解(带思路)
2024-06-05 19:15:38
发布于:江苏
55阅读
0回复
0点赞
已修改格式化
这题好多题解都没思路,
来个有思路的
我们可以知道,如果是,就什么也不用输出,所以我们可以判断它是不是
2.如果是,那么他就没有系数,但是如果是,那么就会什么也没有,要排除这种情况(第一次提交就被坑了,在洛谷)
3.如果是开头,那么是整数就没有,需要判断一下
4.还有就是末尾没有指数和
以下是代码
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,k,m;
signed main(){
cin>>n;m=n;n++;//后面的n--会直接把指数干成n-1,所以要先++
while(n--){//m用来记录,他是不是第一项
cin>>k;
if(k){
if(k<0)cout<<"-";//小于0就输出-
if(k>0&&n<m)cout<<"+";//他是整数且不是第一项,输出+
if(abs(k)!=1||!n)cout<<abs(k);//这边如果不是1,或者是最后一项,都有系数
if(n>0)cout<<"x";//不是末尾都有x
if(n>1)cout<<"^"<<n;//如果他>1,而且不是末尾,就有指数
}
}
return 0;
}
时间复杂度:
总结:这题作为普及组,坑那么多,很少人能
全部评论 3
顶
2024-01-20 来自 江苏
0顶
2024-01-20 来自 江苏
0顶
2024-01-20 来自 江苏
0
有帮助,赞一个