彩虹(红绿紫)65pts 求调
查看原帖
彩虹(红绿紫)65pts 求调
1283944
Hanrui1206楼主2024/10/1 13:01

代码

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

struct node {
	string op;
	string ad;
	string a;
	long long A;
	char ch1;
	string b;
	long long B;
	char ch2;
	string c;
	long long C;
	char ch3;
	string d;
	long long D;
	char ch4;
	string e;
	long long E;
} a[1005];

bool check(node f) {
	if (f.ch1 != '.' || f.ch2 != '.' || f.ch3 != '.' || f.ch4 != ':') {
		return false;
	}
	if (f.A < 0 || f.A > 255 || f.B < 0 || f.B > 255 || f.C < 0 || f.C > 255 || f.D < 0 || f.D > 255 || f.E < 0 || f.E > 65535) {
		return false;
	}
	if (f.A != 0 && f.a[0] == 0 || f.B != 0 && f.b[0] == 0 || f.C != 0 && f.c[0] == 0 || f.D != 0 && f.d[0] == 0 || f.E != 0 && f.e[0] == 0) {
		return false;
	}
	return true;
}

long long to_long_long(string str) {
	long long num = 0;
	for (long long i = 0; i < str.size(); i ++) {
		num = num * 10 + str[i] - '0';
	}
	return num;
}

signed main() {
	cin >> n;
	for (long long i = 1; i <= n; i ++) {
		cin >> a[i].op >> a[i].ad;
		long long p = 0;
		for (long long j = 0; a[i].ad[j] != '.' && a[i].ad[j] != ':'; j ++) {
			a[i].a += a[i].ad[j];
			p = j;
		}
		p ++;
		a[i].ch1 = a[i].ad[p];
		p ++;
		for (long long j = p; a[i].ad[j] != '.' && a[i].ad[j] != ':'; j ++) {
			a[i].b += a[i].ad[j];
			p = j;
		}
		p ++;
		a[i].ch2 = a[i].ad[p];
		p ++;
		for (long long j = p; a[i].ad[j] != '.' && a[i].ad[j] != ':'; j ++) {
			a[i].c += a[i].ad[j];
			p = j;
		}
		p ++;
		a[i].ch3 = a[i].ad[p];
		p ++;
		for (long long j = p; a[i].ad[j] != '.' && a[i].ad[j] != ':'; j ++) {
			a[i].d += a[i].ad[j];
			p = j;
		}
		p ++;
		a[i].ch4 = a[i].ad[p];
		p ++;
		for (long long j = p; j < a[i].ad.size(); j ++) {
			a[i].e += a[i].ad[j];
			p = j;
		}
		a[i].A = (a[i].a == "" ? -1 : to_long_long(a[i].a));
		a[i].B = (a[i].b == "" ? -1 : to_long_long(a[i].b));
		a[i].C = (a[i].c == "" ? -1 : to_long_long(a[i].c));
		a[i].D = (a[i].d == "" ? -1 : to_long_long(a[i].d));
		a[i].E = (a[i].e == "" ? -1 : to_long_long(a[i].e));
	}
	for (long long i = 1; i <= n; i ++) {
		bool flag = false;
		if (a[i].op == "Server") {
			if (!check(a[i])) {
				cout << "ERR\n";
			} else {
				for (long long j = 1; j < i; j ++) {
					if (a[j].op == "Server" && a[i].A == a[j].A && a[i].B == a[j].B && a[i].C == a[j].C && a[i].D == a[j].D && a[i].E == a[j].E && check(a[j])) {
						flag = true;
						cout << "FAIL\n";
						break;
					}
				}
				if (!flag) {
					cout << "OK\n";
				}
			}
		} else {
			if (!check(a[i])) {
				cout << "ERR\n";
			} else {
				for (long long j = 1; j <= i; j ++) {
					if (a[j].op == "Server" && a[i].A == a[j].A && a[i].B == a[j].B && a[i].C == a[j].C && a[i].D == a[j].D && a[i].E == a[j].E && check(a[j])) {
						flag = true;
						cout << j << '\n';
						break;
					}
				}
				if (!flag) {
					cout << "FAIL\n";
				}
			}			
		}
	}
	return 0;
} 

结果

Subtask #0

#2

Accepted, 得分 5.ok accepted

#3

Accepted, 得分 5.ok accepted

#4

Accepted, 得分 5.ok accepted

#5

Accepted, 得分 5.ok accepted

#6

Accepted, 得分 5.ok accepted

#7

Accepted, 得分 5.ok accepted

#8

Accepted, 得分 5.ok accepted

#9

Accepted, 得分 5.ok accepted

#10

Accepted, 得分 5.ok accepted

#11

Accepted, 得分 5.ok accepted

#12

Accepted, 得分 5.ok accepted

#13

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

#14

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

#15

Accepted, 得分 5.ok accepted

#16

Accepted, 得分 5.ok accepted

#17

Wrong Answer.wrong answer On line 372 column 1, read F, expected E.

#18

Wrong Answer.wrong answer On line 101 column 1, read F, expected E.

#19

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

#20

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

#21

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

Subtask #1

#1

Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.

2024/10/1 13:01
加载中...