自己输的数据没问题,但就是过不了
查看原帖
自己输的数据没问题,但就是过不了
421517
棠棠棠棠棠এ楼主2021/9/13 16:53
#include <iostream>
#include <string>
using namespace std;

bool chack(string a) {
	if (a.size() == 0)
		return false;
	if (a.size() != 1 && (a[0] == '0' || (a[0] == '-' && a[1] == '0')))
		return false;
	if ((a[0] != '-' && a[0] < '0' && a[0] > '9') || (a.size() == 1 && a[0] == '-'))
		return false;
	return true;
}

bool compare(string a, string b) {
	int i = 0, m, n;
	if (a[i] == '-' && b[i] != '-')
		return true;
	else if (a[i] != '-' && b[i] == '-')
		return false;
	else if (a[i] != '-' && b[i] != '-') {

		if (a.size() > b.size())
			return false;
		if (a.size() < b.size())
			return true;
		while (++i) {
			m = a[i] - '0';

			n = b[i] - '0';
			if (m > n)
				return false;
			if (m < n)
				return true;
		}
	} else {

		if (a.size() < b.size())
			return false;
		if (a.size() > b.size())
			return true;
		while (++i) {
			m = a[i] - '0';

			n = b[i] - '0';
			if (m < n)
				return false;
			if (m > n)
				return true;
		}
	}
	return true;
}

int main() {
	string l, r;
	int n, ans[600] = {};
	cin >> l >> r >> n;
	for (int i = 1; i <= n; i++) {
		string x;
		cin >> x;

		if (!chack(x)) {
			ans[i] = 1;
			continue;
		}
		if ( compare(l, x) && compare(x, r) ) {
			ans[i] = 0;
			continue;
		}
		ans[i] = 2;
	}
	for (int i = 1; i <= n; i++)
		cout   << ans[i] << endl;
	return 0;
}
2021/9/13 16:53
加载中...