代码:
#include<bits/stdc++.h>
using namespace std;
long long n,cnt;
string name,s;
map<string,long long>mp;
bool j(){
long long a=-1,b=-1,c=-1,d=-1,e=-1;
if(5!=sscanf(s.c_str(),"%lld.%lld.%lld.%lld:%lld",&a,&b,&c,&d,&e))return 0;
stringstream ss;
ss<<a<<"."<<b<<"."<<c<<"."<<d<<":"<<e;
if(a<0 || a>255 || b<0 || b>255 || c<0 || c>255 || d<0 || d>255 || e<0 || e>65535){
return 0;
}
return ss.str()==s;
}
int main(){
//freopen("P7911_2.in","r",stdin);
//freopen("P7911_2.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>name>>s;
if(!j()){
cout<<"ERR"<<endl;
}else if(name[0]=='S'){
if(mp[s]){
cout<<"FALL\n";
}else{
mp[s]=i;
cout<<"OK\n";
}
}else{
if(!mp[s]){
cout<<"FALL\n";
continue;
}else{
cout<<mp[s]<<"\n";
}
}
}
return 0;
}
为什么样例二本地测试过了,提交却wa。