社区讨论

除了#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
输入:
CPP
3
-50 0 0 1
输出: -50x^3+1
我看讨论区里好像没人出现过这种问题 求大佬解答QWQ

回复

1 条回复,欢迎继续交流。

正在加载回复...