社区讨论
5pts求调
P7911[CSP-J 2021] 网络连接参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m2eocpet
- 此快照首次捕获于
- 2024/10/18 19:56 去年
- 此快照最后确认于
- 2025/11/04 16:54 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n, cnt;
struct node {
string x;
int k;
};
node h[1009];
bool check(string s) {
long long dian=0, mao=0, a[9], cnt1 = 0;
if (!(s[1] >= '0' && s[1] <= '9')) return 0;
if (!(s[s.size()-1] >= '0' && s[s.size()-1] <= '9')) return 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] >= '0' && s[i] <= '9') {
if (!(s[i-1] >= '0' && s[i-1] <= '9')) {
if (s[i] =='0' && !(s[i+1] >= '0' && s[i+1] <= '9')) return false;
a[++cnt1] = s[i] - '0';
}
else {
a[cnt1] = a[cnt1] * 10 + (s[i] - '0');
}
}
else if (s[i] == '.' || s[i] == ':') {
if (s[i] == '.') dian++;
else mao++;
if (dian > 3 || mao > 1) {
return false;
}
if (dian < 3 && mao == 1) {
return false;
}
}
else {
return false;
}
}
if (cnt1 < 5) return false;
if (a[1] >= 0 && a[1] <= 255 && a[2] >= 0 && a[2] <= 255 && a[3] >= 0 && a[3] <= 255 && a[4] >= 0 && a[4] <= 255 && a[5] >= 0 && a[5] <= 65535) {
return true;
}
else {
return false;
}
}
int main() {
// freopen("network.in", "r", stdin);
// freopen("network.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i++) {
string op, x;
cin >> op >> x;
if (check(x)) {
if (op == "Server") {
int flag = 0;
for (int j = 1; j <= cnt; j++) {
if (x == h[j].x) {
cout << "FAIL\n";
flag = 1;
break;
}
}
if (flag == 0) {
cout << "OK\n";
h[++cnt].x = x;
h[cnt].k = i;
}
}
else {
int flag = 0;
for (int j = 1; j <= cnt; j++) {
if (x == h[j].x) {
cout << h[j].k << "\n";
flag = 1;
break;
}
}
if (flag == 0) {
cout << "FAIL\n";
}
}
}
else {
cout << "ERR\n";
}
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...