记录编号 595724 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [CSP 2021J]网络连接 最终得分 100
用户昵称 Gravatar1nclude 是否通过 通过
代码语言 C++ 运行时间 0.193 s
提交时间 2024-10-16 18:45:33 内存使用 3.62 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
template <class T> signed get(T &x){if(sizeof(x)==8) return scanf("%lld",&x);return scanf("%d",&x);}
template <class T> signed put(T x){if(sizeof(x)==8) return printf("%lld",x);return printf("%d",x);}

int n;
unordered_map<string,int> mp;

bool check(string &s)
{
	long long int a,b,c,d,e;
	const char* t=s.c_str();
	if(sscanf(t,"%lld.%lld.%lld.%lld:%lld",&a,&b,&c,&d,&e)!=5) return 0;
	if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255||e<0||e>65535) return 0;
	char tmp[1000];
	sprintf(tmp,"%lld.%lld.%lld.%lld:%lld",a,b,c,d,e);
	return strcmp(t,tmp)==0;
}

int main() 
{
	freopen("csp2021pj_network.in","r",stdin);
	freopen("csp2021pj_network.out","w",stdout);
	get(n);
	for(int i=1;i<=n;i++) 
	{
		string s,op;
		cin>>op>>s;
		if(!check(s)) 
		{
			puts("ERR");
			continue;
		}
		if(op[0]=='S') 
		{
			if(mp[s]) puts("FAIL");
			else mp[s]=i,puts("OK");
		}else{
			if(!mp[s]) puts("FAIL");
			else put(mp[s]),putchar('\n');
		}
	}
	return 0;
}