#include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int n,m=1,a[5],s[1001][5];
char c[4];
string jz,dz,num[5];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>jz>>dz;
int flag=0,cnt=1,j=0;
while(j<dz.length()){
j++;
if(dz[j]<='9'&&dz[j]>='0'){
num[cnt][j-flag]=dz[j-flag];
}
else{
c[cnt]=dz[j];
cnt++;
flag=j;
}
}
for(int j=1;j<=5;j++){
if(num[j][1]=='0'&&num[j].length()>1||num[j][1]=='-'){
cout<<"ERR"<<endl;
continue;
}
}
for(int j=1;j<=5;j++){
for(int k=0;k<num[j].length();k++){
a[j]+=int(num[j][k]-48)*pow(10,num[j].length()-1);
}
num[j]="";
}
if(a[1]>255||a[2]>255||a[3]>255||a[4]>255||a[5]>65535||c[1]!='.'||c[2]!='.'||c[3]!='.'||c[4]!=':'){
cout<<"ERR"<<endl;
continue;
}
if(jz=="Server"){
for(int j=1;j<=m;j++){
int flag1=0;
for(int k=1;k<=5;k++){
if(s[j][k]!=a[k]){
flag1++;
}
}
if(!flag1){
cout<<"FAIL"<<endl;
continue;
}
}
for(int j=1;j<=5;j++){
s[m][j]=a[j];
}
m++;
cout<<"OK"<<endl;
}
if(jz=="Client"){
int flag2=0;
for(int j=1;j<=m;j++){
int flag1=0;
for(int k=1;k<=5;k++){
if(s[j][k]!=a[k]){
flag1++;
}
}
if(flag1){
flag2++;
continue;
}
else{
cout<<j<<endl;
flag2=0;
break;
}
}
if(flag2==m){
cout<<"FAIL"<<endl;
}
}
}
return 0;
}
样例过了,求大佬指点!!!