社区讨论
求助
P7911[CSP-J 2021] 网络连接参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m2o9nyl7
- 此快照首次捕获于
- 2024/10/25 13:03 去年
- 此快照最后确认于
- 2025/11/04 16:14 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
struct Address {
int a, b, c, d, e, space = 0;
};
Address address[1010];
Address tpaddress;
bool tpmain(Address tp) {
if (tp.a < 0 || tp.b < 0 || tp.c < 0 || tp.d < 0 || tp.e < 0 || tp.a > 255 ||
tp.b > 255 || tp.c > 255 || tp.d > 255 || tp.e > 65535)
return false;
return true;
}
// bool cmp(Address tp, Address tb) {
// if (tp.a > tb.a) {
// return true;
// } else if (tp.a == tb.a) {
// if (tp.b > tb.b) {
// return true;
// } else if (tp.b == tb.b) {
// if (tp.c > tb.c) {
// return true;
// } else if (tp.c == tb.c) {
// if (tp.d > tb.d) {
// return true;
// } else if (tp.d == tb.d) {
// if (tp.e > tb.e) {
// return true;
// } else {
// return false;
// }
// }
// }
// }
// }
// }
bool cmpsame(Address tp, Address tb) {
if (tp.a == tb.a && tp.b == tb.b && tp.c == tb.c && tp.d == tb.d &&
tp.e == tb.e)
return 1;
return 0;
}
int main() {
int n, k = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
string s;
cin >> s;
char ca,cb,cc,cd;
scanf("%d%c%d%c%d%c%d%c%d",&tpaddress.a,&ca,&tpaddress.b, &cb,&tpaddress.c, &cc,&tpaddress.d,&cd,&tpaddress.e);
if(tpmain(tpaddress) == 0||ca != '.'||cb != '.'||cc != '.'||cd != ':'){
printf("ERR\n");
continue;
}
//---------ERR判断---------
if (s == "Server") {
bool op = 0;
for (int i = 1; i <= k; i++) {
if (cmpsame(address[i], tpaddress) == 1){
op = 1;
break;
}
}
if (op) {
printf("FAIL\n");
continue;
} else {
k++;
printf("OK\n");
address[k].a = tpaddress.a;
address[k].b = tpaddress.b;
address[k].c = tpaddress.c;
address[k].d = tpaddress.d;
address[k].e = tpaddress.e;
address[k].space = i;
//sort(address + 1, address + k + 1, cmp);
continue;
}
}
//----------服务器完毕----------
else {
int op = 0;
for(int j = 1;i <= k; j++){
if (cmpsame(address[j], tpaddress) == 1){
op = j;
break;
}
}if (op > 0) {
printf("%d\n",address[op].space);
continue;
}else{
printf("FAIL\n");
}
}
}
return 0;
}
数据
CPP10
Server 207.231.221.77:51007
Server 79.243.216.144:13350
Server 58.119.187.226:51586
Server 247.150.225.186:5558
Server 100.248.83.30:3352
Server 98.78.97.34:59089
Client 243.9.80.71:15160
Client 178.5.220.233:17605
Client 100.248.83.30:3352
Client 98.78.97.34:59089
我输出了
CPPOK
OK
OK
OK
OK
OK
FAIL
FAIL
FAIL
FAIL
答案后两个是5和6
回复
共 0 条回复,欢迎继续交流。
正在加载回复...