测试用例0 1答案是1,我输出也是1,为啥我过不了?
查看原帖
测试用例0 1答案是1,我输出也是1,为啥我过不了?
378195
icaijy楼主2022/10/9 20:19

RT,在线等dalao,急!

#include <iostream>
#include <cstring>
using namespace std;
int n;

int main(){
	cin>>n;
	int a;
	int i;
	cin >> a;
	bool youla=false;
	if (n==0){
		if (a==1) {
			cout << "1";
			return 0;
		}
		if (a==-1) {
			cout << -1;
			return 0;
		}
		else {
			cout << a;
			return 0;
		}
	}
	if (a==1) {
			cout << "x^" << n;
			youla=true;
		}
		if (a==-1) {
			cout << "-"<<"x^" << n;
			youla=true;
		}
	else if (a!=0) {
		
		cout << a << "x^" << n;
		youla=true;
	}
	for (i=n-1;i>=1;i--){
		cin >> a;
		if (a==0) continue;
		if (youla){
			if (i!=1){
				if (a==1) {
				cout  << "+" << "x^" << i;
				continue;
			}
			if (a==-1) {
				cout  << "-" << "x^" << i;
				continue;
			}
			if (a>=0) {
				cout  << "+" << a << "x^" << i;
				continue;
			}
			cout << a << "x^" << i;
			}
			else {
				if (a==1) {
				cout  << "+" << "x";
				continue;
			}
			if (a==-1) {
				cout  << "-" << "x";
				continue;
			}
			if (a>=0) {
				cout  << "+" << a << "x";
				continue;
			}
			cout << a << "x";
			}
			
		}
		else {
			youla=true;
			if (i!=1){
				if (a==1) {
				cout  << "x^" << i;
				continue;
			}
			if (a==-1) {
				cout  << "-" << "x^" << i;
				continue;
			}
			if (a>=0) {
				cout  <<a << "x^" << i;
				continue;
			}
			cout << a << "x^" << i;
			}
			else {
				if (a==1) {
				cout   << "x";
				continue;
			}
			if (a==-1) {
				cout  << "-" << "x";
				continue;
			}
			if (a>=0) {
				cout   << a << "x";
				continue;
			}
			cout << a << "x";
			}
		}
		
		
	}
	cin >> a;
	if (a>0) cout << "+" << a;
	else if (a==0) return 0;
	else cout << a;
	return 0;
}

虽然代码写的跟屎一样,但是前面我判断了下输入第一个是0该咋做,输入0然后第二个是1就输出1,为沙就是ac不了qwq

2022/10/9 20:19
加载中...