#include<bits/stdc++.h> #define ll long long using namespace std; string s,num; int n; bool check(string s){ int cnt=0; ll a=0; string ans=""; s+='.'; for(int i=0;i<s.size();i++){ if(s[i]<='9'&&s[i]>='0'){ a=a10+s[i]-'0'; ans+=s[i]; } else { cnt++; // cout<<a<<" "<<cnt<<endl; if(cnt==5&&(a<0||a>65535))return false; else if(cnt!=5&&(a<0||a>255))return false; if(cnt==4)ans+=':'; else ans+='.'; a=0; } } if(cnt!=5)return false; for(int i=0;i<ans.size();i++){ if(ans[i]!=s[i])return false; } return true; } map<string,bool> mp; map<string,int> id; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>s; if(s=="Client"){ cin>>num; if(check(num)){ string use=num; if(mp[use]){ cout<<id[use]<<endl; } else{ cout<<"FAIL"<<endl; } } else cout<<"ERR"<<endl; } if(s=="Server"){ cin>>num; if(check(num)){ string use=num; if(mp[use])cout<<"FAIL"<<endl; else { mp[use]=1; id[use]=i; cout<<"OK"<<endl; } } else cout<<"ERR"<<endl; } } return 0; }```cpp #include<bits/stdc++.h> #define ll long long using namespace std; string s,num; int n; bool check(string s){ int cnt=0; ll a=0; string ans=""; s+='.'; for(int i=0;i<s.size();i++){ if(s[i]<='9'&&s[i]>='0'){ a=a10+s[i]-'0'; ans+=s[i]; } else { cnt++; // cout<<a<<" "<<cnt<<endl; if(cnt==5&&(a<0||a>65535))return false; else if(cnt!=5&&(a<0||a>255))return false; if(cnt==4)ans+=':'; else ans+='.'; a=0; } } if(cnt!=5)return false; for(int i=0;i<ans.size();i++){ if(ans[i]!=s[i])return false; } return true; } map<string,bool> mp; map<string,int> id; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>s; if(s=="Client"){ cin>>num; if(check(num)){ string use=num; if(mp[use]){ cout<<id[use]<<endl; } else{ cout<<"FAIL"<<endl; } } else cout<<"ERR"<<endl; } if(s=="Server"){ cin>>num; if(check(num)){ string use=num; if(mp[use])cout<<"FAIL"<<endl; else { mp[use]=1; id[use]=i; cout<<"OK"<<endl; } } else cout<<"ERR"<<endl; } } return 0; }