70分求助!!!!!!!!!!!!!!
查看原帖
70分求助!!!!!!!!!!!!!!
704634
poor_OIer楼主2022/8/28 22:14

提交结果

#include<bits/stdc++.h>
using namespace std;
struct node{
	int a,b,c,d,e;
	bool fenghao=false;
	int lei;
}ip[2000];
int n;
int check(char c1,char c2,char c3,char c4)
{
	if(c1!='.'||c2!='.'||c3!='.'||c4!=':')
		return 1;
	return 0;
}
int Check(int a1,int a2,int a3,int a4,int a5)
{
	if(a1>=0&&a1<=255&&a2>=0&&a2<=255&&a3>=0&&a3<=255&&a4>=0&&a4<=255&&a5>=0&&a5<=65535)
		return 0;
	return 1;
}
int dfs(int step,int a1,int a2,int a3,int a4,int a5)
{
	int flag=0;
	for(int i=1;i<step;i++)
	{
		if(ip[i].fenghao==true)
			continue;
		if(ip[i].lei==2)
			continue;
		if(ip[i].a==a1&&ip[i].b==a2&&ip[i].c==a3&&ip[i].d==a4&&ip[i].e==a5)
		{
			flag=1;	
			break;
		}
	}
	if(flag==1)
		return 0;
	if(flag==0)
		return 1;
}
int bfs(int step,int a1,int a2,int a3,int a4,int a5)
{
	int flag=0;
	for(int i=1;i<step;i++)
	{
		if(ip[i].fenghao==true)
			continue;
		if(ip[i].lei==2)
			continue;
		if(ip[i].a==a1&&ip[i].b==a2&&ip[i].c==a3&&ip[i].d==a4&&ip[i].e==a5)
		{
			flag=1;
			break;
		}
	}
	if(flag==1)
		return 0;
	return 1; 
}
int f(int step,int a1,int a2,int a3,int a4,int a5)
{
	for(int i=1;i<step;i++)
	{
		if(ip[i].fenghao==true)
			continue;
		if(ip[i].lei==2)
			continue;
		if(ip[i].a==a1&&ip[i].b==a2&&ip[i].c==a3&&ip[i].d==a4&&ip[i].e==a5)
		{
			return i;
		}
	}
}
int main()
{
	cin>>n;
	string leixing;
	for(int i=1;i<=n;i++)
	{
		char ch1,ch2,ch3,ch4;
		cin>>leixing;
		if(leixing=="Server")
			ip[i].lei=1;
		if(leixing=="Client")	
			ip[i].lei=2;
		cin>>ip[i].a;
		cin>>ch1;
		cin>>ip[i].b;
		cin>>ch2;
		cin>>ip[i].c;
		cin>>ch3;
		cin>>ip[i].d;
		cin>>ch4;
		cin>>ip[i].e;
		if(check(ch1,ch2,ch3,ch4)||Check(ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e))
		{
			cout<<"ERR"<<endl;
			ip[i].fenghao=true;
			continue;
		}
		if(ip[i].lei==1)
		{
			if(dfs(i,ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e)==1)
			{
				cout<<"OK"<<endl;
				continue;
			}
			if(dfs(i,ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e)==0)
			{
				cout<<"FAIL"<<endl;
				ip[i].fenghao=true;
				continue;
			}
		}
		if(ip[i].lei==2)
		{
			if(bfs(i,ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e)==1)
			{
				cout<<"FAIL"<<endl;
				ip[i].fenghao=true;
				continue;
			}
			if(bfs(i,ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e)==0)
			{
				cout<<f(i,ip[i].a,ip[i].b,ip[i].c,ip[i].d,ip[i].e)<<endl;
				continue;
			}
		}
	}
}

急急急!!!

2022/8/28 22:14
加载中...