75pts wa on#13#14#19#20#21
查看原帖
75pts wa on#13#14#19#20#21
1183074
xzy_AK_IOI楼主2024/2/27 20:11
#include<bits/stdc++.h>
using namespace std;
struct server{
	string name;
	int yong;
}ser[1145];
string cli[1145];
bool pan(string _1,string _2,string _3,string _4,string _5)
{
	if ((_1[0]=='0' && _1[1]=='0' && _1.size()>1) || (_1[0]=='0' && _1[1]!='0' && _1.size()>1) || _1.size()==0)
	{
		return 0;
	}
	if ((_2[0]=='0' && _2[1]=='0' && _2.size()>1) || (_2[0]=='0' && _2[1]!='0' && _2.size()>1) || _2.size()==0)
	{
		return 0;
	}
	if ((_3[0]=='0' && _3[1]=='0' && _3.size()>1) || (_3[0]=='0' && _3[1]!='0' && _3.size()>1) || _3.size()==0)
	{
		return 0;
	}
	if ((_4[0]=='0' && _4[1]=='0' && _4.size()>1) || (_4[0]=='0' && _4[1]!='0' && _4.size()>1) || _4.size()==0)
	{
		return 0;
	}
	if ((_5[0]=='0' && _5[1]=='0' && _5.size()>1) || (_5[0]=='0' && _5[1]!='0' && _5.size()>1) || _5.size()==0)
	{
		return 0;
	}
	if (_1.size()>3)
	{
		return 0;
	}
	else if (_1.size()==3)
	{
		if (_1>"255")
		{
			return 0;
		}
	}
	if (_2.size()>3)
	{
		return 0;
	}
	else if (_2.size()==3)
	{
		if (_2>"255")
		{
			return 0;
		}
	}
	if (_3.size()>3)
	{
		return 0;
	}
	else if (_3.size()==3)
	{
		if (_3>"255")
		{
			return 0;
		}
	}
	if (_4.size()>3)
	{
		return 0;
	}
	else if (_4.size()==3)
	{
		if (_4>"255")
		{
			return 0;
		}
	}
	if (_5.size()>5)
	{
		return 0;
	}
	else if (_5.size()==5)
	{
		if (_5>"65535")
		{
			return 0;
		}
	}
	return 1;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	int serji=0,cliji=0,n=1,k,l,p=0;
	bool pan2,pan3;
	cin>>n;
	string s;
	string _1,_2,_3,_4,_5;
	getline(cin,s);
	_1="";_2="";_3="";_4="";_5="";
	k=1;
	for (int i=1;i<=n;i++)
	{
		pan3=0;
		getline(cin,s);
		_1="";_2="";_3="";_4="";_5="";
		k=1;
		for (int j=0;j<=s.size()-1;j++)
		{
			if (s[j]<='9' && s[j]>='0')
			{
				if (k==1)
				{
					_1+=s[j];
				}
				if (k==2)
				{
					_2+=s[j];
				}
				if (k==3)
				{
					_3+=s[j];
				}
				if (k==4)
				{
					_4+=s[j];
				}
				if (k==5)
				{
					_5+=s[j];
				}
			}
			if (s[j]=='.')
			{
				k++;
			}
			if (s[j]==':')
			{
				k++;
			}
			if (s[j]==':' && k!=5)
			{
				pan3=1;
			}
			if (s[j]=='.' && k==5)
			{
				pan3=1;
			}
			//cout<<s[j]<<" "<<k<<" "<<pan3<<endl;
		}
		p++;
		if (s[0]=='S')
		{
			if (pan3)
			{
				cout<<"ERR"<<'\n';
				continue;
			} 
			if (pan(_1,_2,_3,_4,_5))
			{
				pan2=1;
				for (int j=1;j<=serji;j++)
				{
					if (ser[j].name==s)
					{
						pan2=0;
						break;
					}
				}
				if (pan2)
				{
					serji++;
					ser[serji].name=s;
					ser[serji].yong=p;
					cout<<"OK"<<'\n';
				}
				else
				{
					cout<<"FAIL"<<'\n';
				}
			}
			else
			{
				cout<<"ERR"<<'\n';
			}
		}
		else
		{
			if (pan3)
			{
				cout<<"ERR"<<'\n';
				continue;
			} 
			if (pan(_1,_2,_3,_4,_5))
			{
				pan2=1;
				for (int j=1;j<=serji;j++)
				{
					if (ser[j].name.substr(6,ser[j].name.size()-6)==s.substr(6,s.size()-6))
					{
	
						pan2=0;
						l=ser[j].yong;
						break;
					}
				}
				if (pan2)
				{
					cout<<"FAIL"<<'\n';
				}
				else
				{
					cout<<l<<'\n';
				}
			}
			else
			{
				cout<<"ERR"<<'\n';
			}
		}
	}
	return 0;
}

???????

2024/2/27 20:11
加载中...