75分
查看原帖
75分
930739
Chang__An__Li楼主2024/10/9 13:23
#include<bits/stdc++.h>
#include<cstring>

using namespace std;
int n;
map<string,int>m;
bool check(string ip){
	int a,b,c,d,e;
	sscanf(ip.c_str(),"%d.%d.%d.%d:%d",&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 false;
	string ipp;
	ipp=to_string(a)+"."+to_string(b)+"."+to_string(c)+"."+to_string(d)+":"+to_string(e);
	if(ipp==ip)return true;
	else return false;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		string t,ip;
		cin>>t>>ip;
		if(!check(ip)){
			printf("ERR\n");
			continue;
		}
		if(t=="Server"){
			if(m[ip]>1)printf("FAIL\n");
			else{
				printf("OK\n");
				m[ip]=i;
			}
		}
		else if(t=="Client"){
			if(m[ip]>0){
				printf("%d\n",m[ip]);
			}
			else printf("FAIL\n");
		}
	}
	return 0;
}
2024/10/9 13:23
加载中...