50求助!!
  • 板块学术版
  • 楼主AK_CSP_is_easy
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/10/27 19:36
  • 上次更新2023/10/27 05:34:17
查看原帖
50求助!!
578692
AK_CSP_is_easy楼主2022/10/27 19:36

网络连接

#include<bits/stdc++.h>
using namespace std;
bool q(string s)
{
	long long t=0,x=0,y=0,z=0,i,j,k,l;
	for(i=0;i<s.size();i++)
	{
		if((i==0||(s[i-1]=='.'||s[i-1]==':'))&&s[i]>='0'&&s[i]<='9')z++;
		if(s[i]=='.'||s[i]==':')
		{
			if(s[i]=='.')x++;
			else if(s[i]==':')y++;
			if((x<3&&y))return 0;
			if(!z)return 0;
			if(t<0||t>255)
				return 0;
			else
			{
				t=0;
				continue;
			}	
		}
		else if(s[i]<'0'||s[i]>'9')return 0;	
		if(i&&!t&&s[i-1]=='0')return 0;
		t=t*10+s[i]-'0';
	}
	if(x!=3||y!=1||z!=5)return 0;
	if(t<0||t>65535)return 0;
	else return 1;
}
string ad[10005],a[10005],op[10005];
int main()
{
	int n,i,j,k,l;
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>op[i]>>ad[i];
		k=1;
		int flag=0;
		if(op[i]=="Server")
		{
			if(q(ad[i])==0)
				cout<<"ERR"<<'\n';
			else 
			{
				for(j=1;j<=k;j++)
				{
					if(a[j]==ad[i])
					{
						flag=1;
						break; 
					}						
				}
				if(flag==1)
					cout<<"FAIL"<<'\n';
				else
				{
					cout<<"OK"<<'\n';
					a[k]=ad[i];
					k++;
				}					
			}
		}
		else
		{
			if(q(ad[i])==0)
				cout<<"ERR"<<'\n';
			else 
			{
				for(j=1;j<=n;j++)
				{
					if(!(op[j]=="Server"))
						continue;
					if(ad[j]==ad[i])
					{
						flag=1;
						break; 
					}						
				}
				if(flag==0)
					cout<<"FAIL"<<'\n';
				else
				{
					cout<<j<<'\n';					
				}					
			}
		}
	}
  return 0;
}
2022/10/27 19:36
加载中...