一样,65分
```cpp
#include <bits/stdc++.h>
using namespace std;
struct str_dz{
int a,b,c,d,e;
};
int read(int& i,string s){
int res=0;
while(s[i]>='0'&&s[i]<='9'){
res=res*10+(s[i]-'0');
i++;
}
return res;
}
int n,tot,isf,str_s[5]={255,255,255,255,65535};
char str_g[4]={'.','.','.',':'} ;
string s2,s;
vector<str_dz> v1;
vector<int> f;
int find(str_dz dz){
for(int i=0;i<tot;i++){
if(v1[i].a==dz.a&&v1[i].b==dz.b&&v1[i].c==dz.c&&v1[i].d==dz.d&&v1[i].e==dz.e){
return f[i];
}
}
return -1;
}
int main(){
cin >> n;
for(int i=1;i<=n;i++){
cin >> s2 >> s;
isf=0;
int j=0,dz[5];
for(int k=0;k<5;k++){
dz[k]=read(j,s);
if(k<4){
if(s[j]!=str_g[k]) isf=1;
}
if(dz[k]>str_s[k]) isf=1;
j++;
}
str_dz str;
str.a=dz[0],str.b=dz[1],str.c=dz[2],str.d=dz[3],str.e=dz[4];
if(isf==1){
cout << "ERR\n";
continue;
}
if(s2[0]=='S'){
if(find(str)!=-1){
cout << "FAIL\n";
}else{
v1.push_back(str);
f.push_back(i);
tot++;
cout << "OK\n";
}
}else{
int m=find(str);
if(m==-1){
cout << "FAIL\n";
}else{
cout << m << endl;
}
}
}
return 0;
}
```
by ybc2027_yangshoukuo @ 2023-10-17 20:18:19