求大佬帮忙调代码!!stO dalao Orz
查看原帖
求大佬帮忙调代码!!stO dalao Orz
491132
a_l_g_d楼主2021/11/5 23:39

代码如下:

#include<bits/stdc++.h>
using namespace std;

const int maxn=6e4+10;

int n;
char x;
string str1,str2,m1="-1000010",m2="1000010";
bool eq1,eq2,pd1,pd2;

inline bool pd(string a,string b,bool c) {
	if(c==1) {
		if(a[0]!='-'&&b[0]=='-') return true;
		else if(a[0]=='-'&&b[0]!='-') return false;
		else if(a[0]=='-'&&b[0]=='-') {
			if(a.length()<b.length()) return true;
			return a<b;
		}
		if(a.length()>b.length()) return true;
		return a>b;
	} else if(c==0) {
		if(a[0]!='-'&&b[0]=='-') return false;
		else if(a[0]=='-'&&b[0]!='-') return true;
		else if(a[0]=='-'&&b[0]=='-') {
			if(a.length()>b.length()) return true;
			return a>b;
		}
		if(a.length()<b.length()) return true;
		return a<b;
	}
}

signed main() {
	std::ios::sync_with_stdio(false);
	cin>>n>>x;
	while(n--) {
		cin>>str1;
		int len=str1.length();
		if(str1[1]=='>'&&str1[2]!='=') {
			pd1=1;
			str2=str1.substr(2,len-2);
			if(pd(str2,m1,1)) {
				m1=str2;
				eq1=0;
			}
		} else if(str1[1]=='>'&&str1[2]=='=') {
			pd1=1;
			str2=str1.substr(3,len-3);
			if(pd(str2,m1,1)) {
				m1=str2;
				eq1=1;
			}
		} else if(str1[1]=='<'&&str1[2]!='=') {
			pd2=1;
			str2=str1.substr(2,len-2);
			if(pd(str2,m2,0)) {
				m2=str2;
				eq2=0;
			}
		} else if(str1[1]=='<'&&str1[2]=='=') {
			pd2=1;
			str2=str1.substr(3,len-3);
			if(pd(str2,m2,0)) {
				m2=str2;
				eq2=1;
			}
		}
//		cout<<str2<<' '<<m1<<' '<<m2<<' '<<eq1<<' '<<eq2<<"\n";
	}
	if(pd1&&pd2) {
		if(m1==m2&&!eq1||!eq2) {
			puts("No Answer!");
			return 0;
		} else if(pd(m1,m2,1)) {
			puts("No Answer!");
			return 0;
		}
		cout<<m1<<'<';
		if(eq1) cout<<'=';
		cout<<x<<'<';
		if(eq2) cout<<'=';
		cout<<m2<<"\n";
	} else if(pd1) {
		cout<<x<<'>';
		if(eq1) cout<<'=';
		cout<<m1<<"\n";
	} else {
		cout<<x<<'<';
		if(eq2) cout<<'=';
		cout<<m2<<"\n";
	}
	return 0;
}

样例全过,只拿5分……

2021/11/5 23:39
加载中...