CSP-JT3这样保A吗
查看原帖
CSP-JT3这样保A吗
222057
joy2010WonderMaker楼主2021/10/23 20:49
#include<bits/stdc++.h>
using namespace std;
int n,sum,sdu,shu,pos,pos1;
string op,s,tmp,suh;
unordered_map<string,int> um;
bool ihf(string s,int w){
	sum=0;
	for(int i=0;i<s.size();i++)
		sum=sum*10+s[i]-'0';
	suh=to_string(sum);
	return sum<=w&&s.size()>0&&suh==s;
}
bool hf(string s){
	sdu=0,shu=0,pos=0,pos1=0;
	tmp="";
	for(int i=0;i<s.size();i++){
		if(s[i]>='0'&&s[i]<='9')
			tmp=tmp+s[i];
		else if(s[i]=='.'||s[i]==':'){
			if(s[i]=='.')
				pos=i,sdu++;
			else
				pos1=i,shu++;
			if(!ihf(tmp,255))
				return false;
			tmp="";
		}else
			return false;
	}
	return ihf(tmp,65536)&&sdu==3&&shu==1&&pos<pos1;
}
int main(){
	freopen("network.in","r",stdin);
	freopen("network.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>op>>s;
		if(op=="Server"){
			if(!hf(s))
				puts("ERR");
			else if(um.find(s)!=um.end())
				puts("FAIL");
			else{
				puts("OK");
				um[s]=i;
			}
		}else{
			if(!hf(s))
				puts("ERR");
			else if(um.find(s)!=um.end())
				printf("%d\n",(*um.find(s)).second);
			else
				puts("FAIL");
		}
	}
	return 0;
}
2021/10/23 20:49
加载中...