题目P7911
#include<bits/stdc++.h>
using namespace std;
map<string,bool>b;
map<string,int>c;
bool check(string m){
int sum=0;
bool flag=true;
for(int i=0;i<m.size();i++){
if(m[i]=='.'||m[i]==':'){
if(sum<0||sum>255){
flag=false;
break;
}
sum=0;
}else{
sum*=10;
sum+=m[i]-'0';
}
}
if(sum<0||sum>65535||flag==false){
return false;
}
return true;
}
int main(){
int a,num=0;
cin >> a;
while(a--){
string n,m;
cin >> n >> m;
if(check(m)==false){
cout <<"ERR" << endl;
continue;
}
if(n=="Server"){
//if(n=="S"){
if(b[m]==true){
cout << "FAIL" << endl;
continue;
}
b[m]=true;
num++;
c[m]=num;
cout << "OK" << endl;
}
//if(n=="C"){
if(n=="Client"){
if(b[m]==false){
cout << "FAIL" << endl;
continue;
}
cout << c[m] << endl;
}
}
return 0;
}