75pts,求调
查看原帖
75pts,求调
1367000
Ybll_楼主2024/9/19 14:56
#include<bits/stdc++.h>
using namespace std;
struct node
{
	long long id;
	string s;
};
int main()
{
	long long t,su[5]={255,255,255,255,65535};
	vector<node>v;
	char ch[5]={'.','.','.',':',':'};
	cin>>t;
	for(long long i=0;i<t;i++)
	{
		string a,b;
		cin>>a>>b;
		b='*'+b+':';
		long long sum=0;
		bool flag=0;
		for(long long j=1,k=0;j<b.size();j++)
		{
			if(!(b[j]>='0'&&b[j]<='9'))
			{
				if(sum>su[k]||sum<0||b[j]!=ch[k])
				{
					flag=1;
					break;
				}
				sum=0;
				k++;
			}
			else
			{	
				sum*=10;
				sum+=b[j]-'0';
			}
			if(b[j]=='0'&&b[j+1]>='0'&&b[j+1]<='9'&&!(b[j-1]>='0'&&b[j-1]<='9'))
			{
				flag=1;
				break;
			}
		}
		if(flag)cout<<"ERR\n";
		else
		{
			flag=0;
			long long k=0;
			for(;k<v.size();k++)
			{
				if(v[k].s==b)
				{
					flag=1;
					break;
				}
			}
			if(flag)
			{
				if(a=="Server")cout<<"FAIL\n";
				else cout<<v[k].id<<"\n";
			}
			else
			{
				if(a=="Server")
				{
					cout<<"OK\n";
					v.push_back({i+1,b});
				}
				else cout<<"FAIL\n";
			}
		}
	}
	return 0;
}
2024/9/19 14:56
加载中...