求调:
#include <bits/stdc++.h>
#pragma GCC optimeze(2)
#define N 110000
#define pii pair<int,string>
#define int long long
using namespace std;
pii ser[N];
pair<string,string> cil[N];
bool Check(string s) {
long long a, b, c, d, port;
if (sscanf(s.c_str(), "%lld.%lld.%lld.%lld:%lld", &a, &b, &c, &d, &port) != 5) return false;
if (a < 0 || a > 255 || b < 0 || b > 255 || c < 0 || c > 255 || d < 0 || d > 255 || port < 0 || port > 65535) return false;
stringstream ss;
ss << a << '.' << b << '.' << c << '.' << d << ':' << port;
return ss.str() == s;
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int n;
cin>>n;
int sn=0;
int st=0;
for(int i=1;i<=n;i++){
string s1,s2;
cin>>s1>>s2;
st++;
if(!Check(s2)){
cout<<"ERR\n";
continue;
}
if(s1=="Server"){
int flag=0;
for(int i=1;i<=sn;i++){
if(ser[i].second==s2)flag=1;
}
if(flag==1)cout<<"FAIL\n";
if(flag==0){
cout<<"OK\n";
sn++;
ser[sn].first=st;
ser[sn].second=s2;
}
}
else if(s1=="Client"){
int flag=0;
int idx=0;
for(int i=1;i<=sn;i++){
if(ser[sn].second==s2){
idx=ser[sn].first;
flag=1;
break;
}
}
if(flag==1)cout<<idx<<"\n";
if(flag==0) cout<<"FAIL\n";
}
}
return 0;
}