#include<iostream>
#include<map>
using namespace std;
char cc[1000],a[1000],b[1000];
map<string,int> qc;
void pd(char a[],char b[],int ii){
int t[10]={-1,-1,-1,-1,-1,-1};
int c=sscanf(b,"%d.%d.%d.%d:%d",&t[0],&t[1],&t[2],&t[3],&t[4]);
if(c!=5){
printf("EER\n");
return;
}
for(int i=0;i<4;i++)if(t[i]<0||t[i]>255){printf("EER\n");return;}
if(t[4]<0||t[4]>65535){printf("EER\n");return;}
sprintf(cc,"%d.%d.%d.%d:%d",t[0],t[1],t[2],t[3],t[4]);
if((string)cc!=(string)b){printf("EER\n");return;}
if((string)a=="Client"&&qc[(string)b]){printf("%d\n",qc[(string)b]);return;}
if((string)a=="Client"&&qc[(string)b]==0){printf("FAIL\n");return;}
if((string)a=="Server"&&qc[(string)b]){printf("FAIL\n");return;}
if((string)a=="Server"&&qc[(string)b]==0){qc[(string)b]=ii;printf("OK\n");return;}
}
int main(){
int n;scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%s%s",a,b);
pd(a,b,i+1);
}
}
上面是我的c++代码,对了55分