dalao求调
查看原帖
dalao求调
1056745
wen114248050楼主2024/8/23 14:16
#include<bits/stdc++.h>
using namespace std;
long long n,sum,num,m=1,mb,c[30001];
string a[3001],b[3001];
bool as[30001]={0},ad[30001],af[30001];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i];
		for(int j=b[i].length()-1;j>=0;j--)
		{
		
			if(b[i][j]=='.')
			{
				sum++;
				if(mb>255||mb<0)as[i]=1;
				mb=0;
				m=1;
			}
			else if(b[i][j]==':')
			{
				num++;
				if(mb>65535||mb<0)as[i]=1;
				mb=0;
				m=1;
			}
			else mb=mb+m*(b[i][j]-'0'),m*=10;
		}
		if(sum!=3)as[i]=1;
		else if(num!=1)as[i]=1;
		sum=0,num=0;
		mb=0;
		m=1;
	}
	if(a[1][0]=='S'&&as[1]!=1)cout<<"OK"<<endl;
	else if(a[1][0]=='C'&&as[1]!=1)cout<<"FALL"<<endl;
	for(int i=1;i<=n;i++)
	{
		if(c[i]>0)
		{
			cout<<c[i]<<endl;
			continue;
		}
		else if(as[i]==1)
		{
			cout<<"ERR"<<endl;
			continue;
		}
		else if(ad[i]==1)
		{
			cout<<"FAIL"<<endl;
			continue;
		}
		else if(af[i]==1)
		{
			cout<<"OK"<<endl;
		}
		if(a[i][0]=='S')
		{
				
			for(int j=2;j<=n;j++)
			{
				if(a[j][0]=='S')
				{
					if(b[j]==b[i])ad[j]=1;
					else af[j]=1;
				}
				if(a[j][0]=='C')
				{
					if(b[j]==b[i])
					{
						c[j]=i;
					}
					else ad[j]=1;
				}
			}
		}
	}
	return 0; 
} 
2024/8/23 14:16
加载中...