社区讨论
除了#1其他都RE,但本地测试输出都是对的
P1067[NOIP 2009 普及组] 多项式输出参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo12xcj3
- 此快照首次捕获于
- 2023/10/22 14:20 2 年前
- 此快照最后确认于
- 2023/11/02 13:48 2 年前
C
#include <iostream>
#include <algorithm>
using namespace std;
typedef struct X {
string xi; //系数
string ci; //次数
bool fu;
};
X* a = new X[105];
int main(){
int n = 0; //最高次数
string ch; //常数
string result;
cin >> n;
//X* a = new X[n + 1];
if (n == 0) {
cin >> ch;
cout << ch;
return 0;
}
//Read For 'x'
a[0].ci = n + '0';
cin >> a[0].xi;
if (!a[0].xi.find('-')) {
a[0].xi.erase(remove(a[0].xi.begin(), a[0].xi.end(), '-'));
a[0].fu = true;
}
a[0].xi.erase(remove(a[0].xi.begin(), a[0].xi.end(), '+'));
for (int i = 1; i < n; i++) {
a[i].ci = (n - i) + '0';
cin >> a[i].xi;
if (!a[i].xi.find('-')) {
a[i].xi.erase(remove(a[i].xi.begin(), a[i].xi.end(), '-'));
a[i].fu = true;
}
a[i].xi.erase(remove(a[i].xi.begin(), a[i].xi.end(), '+'));
}
//读入常数
cin >> ch;
for (int i = 0; i < n; i++) {
//系数!=0
if (a[i].xi != "0") {
//+ - check
if (a[i].fu) {
result += "-";
}
else if (!a[i].fu) {
result += '+';
}
result += a[i].xi;
if (atoi(a[i].ci.c_str()) > 1) {
result += "x^" + a[i].ci;
}
else {
result += "x";
}
}
}
if (ch != "0") {
if (atoi(ch.c_str()) > 0) {
result += "+" + ch;
}
else {
result += "-" + ch;
}
}
cout << result;
return 0;
}
用例2我本地也跑路一遍可以正常输出正确答案
下载的输出也是正确答案
但是就一直是RE
输入:
CPP3
-50 0 0 1
输出:
-50x^3+1我看讨论区里好像没人出现过这种问题
求大佬解答QWQ
回复
共 1 条回复,欢迎继续交流。
正在加载回复...