救救孩子吧写了一年了还是WA65
查看原帖
救救孩子吧写了一年了还是WA65
1007879
May_to_July楼主2024/8/17 22:26

芝士代码 有没有人帮我一下啊啊啊求求了

#include <bits/stdc++.h>
using namespace std;
string s[1145], s1[1145];
int a[1145], b[1145], c[1145], d[1145], e[1145];

int nbto(string s) {
	int x = 0;
	while (s.size()) {
		x = x * 10 + s[0] - '0';
		s.erase(0, 1);
	}
	return x;
}

int main() {
//	freopen("win.txt", "r", stdin);
//	freopen("wout.txt", "w", stdout);
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> s[i] >> s1[i];
		a[i] = 256;
		b[i] = 256;
		c[i] = 256;
		d[i] = 256;
		e[i] = 66666;
		int js = 1, bbbbb = 0;
		string sc[10];
		if(s1[i][0]=='.'||s1[i][0]==':'){
			bbbbb=1;
		}
		for (int j = 0; j < s1[i].size(); j++) {
			if (s1[i][j] >= '0' && s1[i][j] <= '9') {
				sc[js] += s1[i][j];
//				cout << sc[js] << ' ' << s1[i][j] << '\n';
			} else {
				js++;
				if(j+1<s1[i].size())
					if(s1[i][j+1]=='.'||s1[i][j+1]==':'){
						bbbbb=1;
						break;
					}
				}
		}
		a[i] = nbto(sc[1]);
		b[i] = nbto(sc[2]);
		c[i] = nbto(sc[3]);
		d[i] = nbto(sc[4]);
		e[i] = nbto(sc[5]);
		if (s1[i][s1[i].size() - 1] < '0' || s1[i][s1[i].size() - 1] > '9'||js>5) {
			bbbbb = 1;
		}
//		printf("%d %d %d %d %d\n", a[i], b[i], c[i], d[i], e[i]);
		if(bbbbb){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1; 
		}else if(a[i]!=0&&sc[1][0]=='0'){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1; 
		}else if(b[i]!=0&&sc[2][0]=='0'){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1;
		}else if(c[i]!=0&&sc[3][0]=='0'){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1;
		}else if(d[i]!=0&&sc[4][0]=='0'){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1;
		}else if(e[i]!=0&&sc[5][0]=='0'){
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1;
		}
//////////////////////////////////////////////////////////////////////////////////
		else if (a[i] > 255|| b[i] > 255 || c[i] > 255 || d[i] > 255 || e[i] > 65535) {
			printf("ERR\n");
			a[i] = b[i] = c[i] = d[i] = e[i] = -1;
		} else {
			bool bl = 0;
			if (s[i] == "Server") {
				for (int j = 1; j < i; j++) {
					if (s[j] == "Server" && a[i] == a[j] && b[i] == b[j] && c[i] == c[j] && d[i] == d[j] && e[i] == e[j]) {
						bl = 1;
						break;
					}
				}
				if (bl == 1) {
					cout << "FAIL\n";
					a[i] = b[i] = c[i] = d[i] = e[i] = -1;
				} else {
					cout << "OK\n";
				}
			} else {
				for (int j = 1; j < i; j++) {
					if (s[j] == "Server" && a[i] == a[j] && b[i] == b[j] && c[i] == c[j] && d[i] == d[j] && e[i] == e[j]) {
						cout << j << '\n';
						bl = 1;
						break;
					}
				}
				if (bl == 0) {
					cout << "FAIL\n";
					a[i] = b[i] = c[i] = d[i] = e[i] = -1;
				}
			}
		}
	}
	return 0;
}
2024/8/17 22:26
加载中...