@[axlewu](/user/1049868) 我之前被坑过。
```cpp
Input:
1
Server 1.2.3.4:
---------------
Output:
ERR
--------
Your Answer:
OK
```
by wzj0829 @ 2024-04-12 20:43:34
@[wzj0829](/user/1028403) 不行,你的数据过了,还是65
```cpp
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
set<string>st;
map<string,ll>mp;
int main(){
//freopen("network.in","r",stdin);
//freopen("network.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll n;
cin>>n;
for(ll i=1;i<=n;i++){
string a,b;
cin>>a>>b;
if(b[b.size()-1]==':'){
cout<<"ERR\n";
continue;
}
bool flag=0;
if(a=="Server"){
ll t=0;
ll x=0,y=0;
for(auto it=b.begin();it!=b.end();++it){
if((*it)=='0'&&(*(it+1)!='.'&&*(it+1)!=':')&&(*(it-1)=='.'||*(it-1)==':')){
flag=1;
break;
}
if((*it)=='.'||(*it)==':'){
if((*it)=='.'){
x++;
}else{
y++;
}
if(t>=256){
flag=1;
break;
}else{
t=0;
}
}else{
t=t*10+(*it)-'0';
}
}
if(t>=65536){
flag=1;
}
if(x!=3||y!=1){
flag=1;
}
if(flag==1){
cout<<"ERR\n";
}else{
if((*st.find(b))==b){
cout<<"FAIL\n";
}else{
cout<<"OK\n";
st.insert(b);
mp[b]=i;
}
}
}else{
ll t=0;
ll x=0,y=0;
for(auto it=b.begin();it!=b.end();++it){
if((*it)=='0'&&(*(it+1)!='.'&&*(it+1)!=':')&&(*(it-1)=='.'||*(it-1)==':')){
flag=1;
break;
}
if((*it)=='.'||(*it)==':'){
if((*it)=='.'){
x++;
}else{
y++;
}
if(t>=256){
flag=1;
break;
}else{
t=0;
}
}else{
t=t*10+(*it)-'0';
}
}
if(t>=65534){
flag=1;
}
if(x!=3||y!=1){
flag=1;
}
if(flag==1){
cout<<"ERR\n";
}else{
if((*st.find(b))==b){
cout<<mp[b]<<"\n";
}else{
cout<<"FAIL\n";
}
}
}
}
return 0;
}
```
by axlewu @ 2024-04-12 20:57:55