@[w_god](/user/1054475) 改好了!
```cpp
#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
int check(char p[]){
int a=-1,b=-1,c=-1,d=-1,e=-1;
int n=sscanf(p,"%d.%d.%d.%d:%d",&a,&b,&c,&d,&e);
if(n!=5)return 0;
if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255||e<0||e>65535) return 0;
char pp[105];
sprintf(pp,"%d.%d.%d.%d:%d",a,b,c,d,e);
if(strcmp(p,pp)==0)return 1;
return 0;
}
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
char a[1005],b[1005];
cin>>a>>b;
string s(b);
if(a[0]=='S'){
if(!check(b)){
cout<<"ERR\n";
}
else if(!mp.count(s)){
cout<<"OK\n";
mp[s]=i;
}
else{
cout<<"FAIL\n";
}
}
else{
if(!check(b)){
cout<<"ERR\n";
}
else if(!mp.count(s)){
cout<<"FAIL\n";
}
else{
cout<<mp[s]<<"\n";
}
}
}
return 0;
}
by I_AK_IOI_1114 @ 2024-05-09 16:47:01