5分求调
查看原帖
5分求调
780505
x1489631649楼主2023/10/20 09:13
#include<bits/stdc++.h>
using namespace std;
int k[1005],l[1005],m[1005],n[1005],o[1005],flag2[1005];
int main()
{
//	freopen("network.in","r",stdin);
//	freopen("network.out","w",stdout);
	string ch1,ch2;
	char f,g,h,j;
	int a=0,b=0,c=0,d=0,e=0,flag,s=0,t;
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		a=0,b=0,c=0,d=0,e=0,flag=1;
		cin>>ch1>>ch2;
		if(ch2[0]==48) flag=1;
		for(int p=0;p<ch2.size();p++)
		{
			if(ch2[p]=='.'||ch2[p]==':')
			{
				if(flag==1)
					f=ch2[p];
				if(flag==2)
					g=ch2[p];
				if(flag==3)
					h=ch2[p];
				if(flag==4)
					j=ch2[p];
				flag++;
			}
			if((ch2[p]==48&&ch2[p-1]=='.')||(ch2[p]==48&&ch2[p-1]==':'))
				flag=1;
			if(ch2[p]==48)
			{
				if(flag==1) a=a*10;
				if(flag==2) b=b*10;
				if(flag==3) c=c*10;
				if(flag==4) d=d*10;
				if(flag==5) e=e*10;
			}
			if(ch2[p]==49)
			{
				if(flag==1) a=a*10+1;
				if(flag==2) b=b*10+1;
				if(flag==3) c=c*10+1;
				if(flag==4) d=d*10+1;
				if(flag==5) e=e*10+1;
			}
			if(ch2[p]==50)
			{
				if(flag==1) a=a*10+2;
				if(flag==2) b=b*10+2;
				if(flag==3) c=c*10+2;
				if(flag==4) d=d*10+2;
				if(flag==5) e=e*10+2;
			}
			if(ch2[p]==51)
			{
				if(flag==1) a=a*10+3;
				if(flag==2) b=b*10+3;
				if(flag==3) c=c*10+3;
				if(flag==4) d=d*10+3;
				if(flag==5) e=e*10+3;
			}
			if(ch2[p]==52)
			{
				if(flag==1) a=a*10+4;
				if(flag==2) b=b*10+4;
				if(flag==3) c=c*10+4;
				if(flag==4) d=d*10+4;
				if(flag==5) e=e*10+4;
			}
			if(ch2[p]==53)
			{
				if(flag==1) a=a*10+5;
				if(flag==2) b=b*10+5;
				if(flag==3) c=c*10+5;
				if(flag==4) d=d*10+5;
				if(flag==5) e=e*10+5;
			}
			if(ch2[p]==54)
			{
				if(flag==1) a=a*10+6;
				if(flag==2) b=b*10+6;
				if(flag==3) c=c*10+6;
				if(flag==4) d=d*10+6;
				if(flag==5) e=e*10+6;
			}
			if(ch2[p]==55)
			{
				if(flag==1) a=a*10+7;
				if(flag==2) b=b*10+7;
				if(flag==3) c=c*10+7;
				if(flag==4) d=d*10+7;
				if(flag==5) e=e*10+7;
			}
			if(ch2[p]==56)
			{
				if(flag==1) a=a*10+8;
				if(flag==2) b=b*10+8;
				if(flag==3) c=c*10+8;
				if(flag==4) d=d*10+8;
				if(flag==5) e=e*10+8;
			}
			if(ch2[p]==57)
			{
				if(flag==1) a=a*10+9;
				if(flag==2) b=b*10+9;
				if(flag==3) c=c*10+9;
				if(flag==4) d=d*10+9;
				if(flag==5) e=e*10+9;
			}
		}
		if(a>255||b>255||c>255||d>255||e>65535||f!='.'||g!='.'||h!='.'||j!=':')
			flag=1;
		if(flag!=1)
		{
			if(ch1=="Server")
			{
				int flag1=0;
				for(int p=1;p<=s;p++)
				{
					if(a==k[p]&&b==l[p]&&c==m[p]&&d==n[p]&&e==o[p])
					{
						cout<<"FAIL"<<endl;
						flag1=1;
					}
				}
				if(flag1==0)
				{
					cout<<"OK"<<endl;
					s++;
					k[s]=a,l[s]=b,m[s]=c,n[s]=d,o[s]=e,flag2[s]=i;
				}
			}
			else{
				int flag1=0;
				for(int p=1;p<=s;p++)
				{
					if(a==k[p]&&b==l[p]&&c==m[p]&&d==n[p]&&e==o[p])
					{
						cout<<flag2[p]<<endl;
						flag1=1;
					}
				}
				if(flag1==0) cout<<"FAIL"<<endl;
			}
		}	
		else cout<<"ERR"<<endl;
	}
	return 0;
}
2023/10/20 09:13
加载中...