社区讨论
65分求调必关
P7911[CSP-J 2021] 网络连接参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m1nl9vs9
- 此快照首次捕获于
- 2024/09/29 21:00 去年
- 此快照最后确认于
- 2024/09/29 21:04 去年
CPP
#include<iostream>
using namespace std;
int n,cnt;
struct node{
int id;
string op,ad;
}q[1005];
int f(string s){
int a=0,ansd=0,ansm=0;
for(int i=0;i<s.size();i++){
if(s[i]==':'){
ansm++;
if(a>255)return 1;
a=0;
}
if(s[i]=='.'){
ansd++;
if(a>255)return 1;
a=0;
}
if(s[i]>='0'&&s[i]<='9')a=a*10+(s[i]-'0');
if(ansm==1&&ansd==3&&a>65535)return 1;
}
if(ansm!=1||ansd!=3)return 1;
return 0;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
cin>>n;
for(int i=1;i<=n;i++){
cin>>q[i].op>>q[i].ad;
if(q[i].op=="Server")q[i].id=i;
if(f(q[i].ad)==1){//不合法
cout<<"ERR\n";
continue;
}else{//合法
if(q[i].op=="Client"){//客户机
int u=0;
for(int j=1;j<i;j++){
if(q[j].op=="Server"&&q[j].ad==q[i].ad){
cout<<q[j].id<<"\n";
u=1;
break;
}
}
if(u!=1){//无匹配服务机
cout<<"FAIL\n";
continue;
}
}else{//服务机
int o=0;
for(int j=1;j<i;j++){//判重
if(q[j].op==q[i].op&&q[j].ad==q[i].ad){
cout<<"FAIL\n";
q[i].ad="0";q[i].op="0";
o=1;
break;
}
}
if(o==1)continue;
cout<<"OK\n";
}
}
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...