求助(做了两三个小时了还没调出来QAQ)
查看原帖
求助(做了两三个小时了还没调出来QAQ)
965646
孟令然2013楼主2025/7/2 16:08
#include<bits/stdc++.h>
using namespace std;
long long n,a[100005][50];
string op[100005],s[100005];
int main()
{
//	freopen("1.in","r",stdin);
//	freopen("1.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		long long dian=0,mao=0,tmp=1,flag=0;
		cin>>op[i]>>s[i];
		if(op[i]=="Server")
		{
			if(s[i].size()<9||s[i].size()>21)
			{
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=0;j<s[i].size();j++)
			{
				if(s[i][j-1]=='.'||s[i][j-1]==':')
				{
//					cout<<s[i][j]<<s[i][j+1]<<endl;
					if(s[i][j]=='0'&&s[i][j+1]>='0'&&s[i][j+1]<='9')
					{
//						cout<<s[i][j]<<s[i][j+1]<<'.'<<endl;
						cout<<"ERR"<<endl;
						flag=1;
						break;
					}
				}
				if(s[i][j]=='.'&&s[i][j+1]<'0'||s[i][j]=='.'&&s[i][j+1]>'9'||s[i][j]==':'&&s[i][j+1]<'0'||s[i][j]==':'&&s[i][j+1]>'9')
				{
					cout<<"ERR"<<endl;
					flag=1;
					break;
				}
				if(s[i][j]=='.')
				{
					tmp++;
					dian++;
					continue;
				}
				if(s[i][j]==':')
				{
					tmp++;
					mao++;
					continue;
				}
				a[i][tmp]=a[i][tmp]*10+s[i][j]-'0';
			}
			if(flag==1)
			{
				continue;
			}
			if(a[i][1]>255||a[i][2]>255||a[i][3]>255||a[i][4]>255||a[i][5]>65535||dian>3||mao>1||dian<3||mao<1)
			{
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=1;j<=i-1;j++)
			{
				if(op[j]=="Server")
				{
					if(a[j][1]==a[i][1]&&a[j][2]==a[i][2]&&a[j][3]==a[i][3]&&a[j][4]==a[i][4]&&a[j][5]==a[i][5])
					{
						cout<<"FAIL"<<endl;
						flag=1;
						break;
					}
				}
			}
			if(flag==0)
			{
				cout<<"OK"<<endl;
			}
		}
		if(op[i]=="Client")
		{
			if(s[i].size()<9||s[i].size()>21)
			{
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=0;j<s[i].size();j++)
			{
				if(s[i][j-1]=='.'||s[i][j-1]==':')
				{
					if(s[i][j]=='0'&&s[i][j+1]>='0'&&s[i][j+1]<='9')
					{
						cout<<"ERR"<<endl;
						flag=1;
						break;
					}
				}
				if(s[i][j]=='.'&&s[i][j+1]<'0'||s[i][j]=='.'&&s[i][j+1]>'9'||s[i][j]==':'&&s[i][j+1]<'0'||s[i][j]==':'&&s[i][j+1]>'9')
				{
					cout<<"ERR"<<endl;
					flag=1;
					break;
				}
				if(s[i][j]=='.')
				{
					tmp++;
					dian++;
					continue;
				}
				if(s[i][j]==':')
				{
					tmp++;
					mao++;
					continue;
				}
				a[i][tmp]=a[i][tmp]*10+s[i][j]-'0';
			}
			if(flag==1)
			{
				continue;
			}
			if(a[i][1]>255||a[i][2]>255||a[i][3]>255||a[i][4]>255||a[i][5]>65535||dian>3||mao>1||dian<3||mao<1)
			{
				cout<<"ERR"<<endl;
				continue;
			}
			for(int j=1;j<=i;j++)
			{
				if(op[j]=="Server")
				{
					if(a[j][1]==a[i][1]&&a[j][2]==a[i][2]&&a[j][3]==a[i][3]&&a[j][4]==a[i][4]&&a[j][5]==a[i][5])
					{
						cout<<j<<endl;
						flag=1;
						break;
					}
				}
			}
			if(flag==0)
			{
				cout<<"FAIL"<<endl;
			}
		}
	}
	return 0;
}

2025/7/2 16:08
加载中...