75pts,求调
查看原帖
75pts,求调
641741
uid235748447楼主2023/9/27 13:54
#include<bits/stdc++.h>
using namespace std;
map<string,int> a;
int main()
{
	string b,c;
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>b>>c;
		stringstream d;
		char p='.';
		int l=0,s=0,r=0;
		for(int i=0;i<c.size();i++)
		{
			if(c[i]==p)
			{
				d<<l<<p;
				s++;
				if(s==3) 
				{
					p=':';
				}
				if(l>255||l<0) 
				{
					r=1;
					break;
				}
				l=0;
			}
			else if(c[i]>='0'&&c[i]<='9')
			{
				l=l*10+int(c[i]-'0');
				if(l>65535)
				{
					r=1;
					break;
				}
			}
			else
			{
				r=1;
				break;
			}
		}
		d<<l;
		if(r==0&&l>=0&&l<=65535&&d.str()==c)
		{
			if(b=="Server")
			{
				if(a[c]==0)
				{
					a[c]=i;
					cout<<"OK"<<endl;
				}
				else
				{
					cout<<"FAIL"<<endl;
				}
			}
			else
			{
				if(a[c]!=0)
				{
					cout<<a[c]<<endl;
				}
				else 
				{
					cout<<"FAIL"<<endl;
				}
			}
		}
		else
		{
			cout<<"ERR"<<endl;
		}
	}
	
	return 0;
} 

2023/9/27 13:54
加载中...