百般红紫斗芳菲
查看原帖
百般红紫斗芳菲
616059
renzecheng楼主2023/10/6 10:55

字面意思13 14 19 20 21紫 17 18红

#include<bits/stdc++.h>
using namespace std;
int f[100001][6];
int main()
{
	int n,t=0,rp=0;
	cin>>n;
	while(n--)
	{
		rp++;
		int a[6],m=0,k=0,i,j,kkk=0,k1=0,k2=0;
		string s,b;
		char c;
		cin>>b>>s;
		int x=0;
		for(m=0;m<s.length();m++) 
		{
			if(!((s[m]<='9'&&s[m]>='0')||s[m]=='.'||s[m]==':' ))
			{
				kkk=1;
			}
		}
		for(m=0;m<s.length();m++)
		{
			if(s[m]>'9'||s[m]<'0')
			{
				
				k++;
				a[k]=x;
				x=0;
				if(s[m]=='.') k1++;
				if(s[m]==':')
				{
					if(k1!=3) kkk=1;
					k2++;
				}
				if(k<=3&&s[m]!='.') kkk=1;
				if(k==4&&s[m]!=':') kkk=1;
			}
			else
			{
				x*=10;
				x+=s[m]-'0';
				if(k<=3&&x>255)
				{
					kkk=1;
					break;
				}
				if(k==4&&x>65535)
				{
					kkk=1;
					break;
				}
				if(s[m]=='0'&&x==0&&s[m+1]!='.'&&s[m+1]!=':')
				{
					kkk=1;
					break;
				}
			}
		}
		if(k1!=3||k2!=1) kkk=1; 
		k++;
		a[k]=x;
		int flag=-1;
//		cout<<a[1]<<' '<<a[2]<<' '<<a[3]<<' '<<a[4]<<' '<<a[5]<<endl;
		if(a[1]>255||a[2]>255||a[3]>255||a[4]>255||a[5]>65535||kkk!=0)
		{
			printf("ERR\n");
			continue;
		}
		if(b[0]=='S')
		{
			for(i=1;i<=t;i++)
			{
				int y=0;
				for(j=1;j<=5;j++)
				{
					if(a[j]==f[i][j]) y++;
				}
				if(y==5)
				{
					flag=0;
					break;
				}
			}
			if(flag==0)
			{
				printf("FAIL\n");
			}
			else
			{
				t++;
				f[t][0]=rp;
				f[t][1]=a[1];
				f[t][2]=a[2];
				f[t][3]=a[3];
				f[t][4]=a[4];
				f[t][5]=a[5];
				printf("OK\n");
			}
		}
		else
		{
			for(i=1;i<=t;i++)
			{
				int y=0;
				for(j=1;j<=5;j++)
				{
					if(a[j]==f[i][j]) y++;
				}
				if(y==5)
				{
					flag=i;
					break;
				}
			}
			if(flag!=-1)
			{
				cout<<f[flag][0]<<endl;
			}
			else
			{
				printf("FAIL\n");
			}
		}
	}
	return 0;
}
2023/10/6 10:55
加载中...