45分,求助
查看原帖
45分,求助
258071
xiaoyaqing楼主2021/11/13 14:38
#include<bits/stdc++.h>
using namespace std;
map<string,int> f;
char z[10];
string r;
int workS(int p,int now)
{
	int i,u[6],cnt=0;
	long long a,b,c,d,e;
	memset(u,0,sizeof(u));
	long long x;
	
	if (sscanf(r.c_str(),"%lld.%lld.%lld.%lld:%lld", &a, &b, &c, &d, &e) != 5) 
	{
		printf("ERR\n");
		return 0;
	}

	if(a>=0&&a<=255&&b>=0&&b<=255&&c>=0&&c<=255&&d>=0&&d<=255&&e>=0&&e<=65535)
	{
		if(now==1)
		{
			if(f[r]!=0) 
			{
				printf("FALL\n");
				return 0;
			}
			else if(f[r]==0)
			{
				printf("OK\n");
				f[r]=p;
				return 0;
			}
		}
		else if(now==2)
		{
			if(f[r]==0)
			{
				printf("FAIL\n");
				return 0;
			 } 
			else if(f[r]!=0)
			{
				printf("%d\n",f[r]);
				return 0;
			}
		}
	}
	else 
	{
		printf("ERR\n");
		return 0;
	}
}
int main()
{
	int i,j,n,p;
	scanf("%d",&n);
	for(p=1;p<=n;p++)
	{
	
		int a,b,c,d,e;
		scanf("%s",z);
		if(z[0]=='S') 
		{
			char cc[1001];
			scanf("%s",cc);
			r=cc;
			workS(p,1);
		}
		else if(z[0]=='C')
		{
			char cc[1001];
			scanf("%s",cc);
			r=cc;
			workS(p,2);
		}
	}
	return 0;
}
2021/11/13 14:38
加载中...