#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;
}
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
Accepted, 得分 5.ok accepted
Accepted, 得分 5.ok accepted
Wrong Answer.wrong answer On line 372 column 1, read F, expected E.
Wrong Answer.wrong answer On line 101 column 1, read F, expected E.
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.