csp-jT3求hack数据
  • 板块学术版
  • 楼主Sarbine
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/10/31 17:21
  • 上次更新2023/11/4 01:42:30
查看原帖
csp-jT3求hack数据
241091
Sarbine楼主2021/10/31 17:21

洛谷和小屠灵AC了,CCF75,求大佬指点

#include<bits/stdc++.h>
using namespace std;
map<string,int> m;
bool check(string s)
{
	int sum=0,cnt=0;
	bool pd=false;
	for(int i=0;i<int(s.size());i++)
	{
		if(isdigit(s[i]))
		{
			if(i&&s[i-1]=='0'&&!sum) return false;
			sum=sum*10+s[i]-'0';
			pd=true;
			if(cnt<4)
				{if(sum>255) return false;}
			else {if(sum>65535) return false;}
		}
		else
		{
			cnt++,sum=0;
			if(!pd) return false;
			if(i&&!isdigit(s[i-1])) return false;
			if(cnt<4) {if(s[i]==':') return false;}
			else if(cnt==4) {if(s[i]=='.') return false;}
			else return false;
		}
	}
	if(cnt<4) return false;
	return true;
}
int main()
{
	//freopen("network.in","r",stdin);
	//freopen("network.out","w",stdout);
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		string op,s;
		cin>>op>>s;
		if(!check(s))
		{
			puts("ERR");
			continue;
		}
		if(op[0]=='S')
		{
			if(m[s]) puts("FAIL");
			else {puts("OK");m[s]=i;}
		}
		else if(op[0]=='C')
		{
			if(m[s]) printf("%d\n",m[s]);
			else puts("FAIL");
		}
	}
	return 0;
}
2021/10/31 17:21
加载中...