提供hack数据
查看原帖
提供hack数据
331189
mamingxiao楼主2021/10/24 13:39

如果我把我的代码改成:

#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
int check(string s)
{
	int hvs=0,hvb=0,hvm=0;
	int x=0;
	int sl=s.length();
//	int flag=0;
	for(int i=0;i<sl;i++)
	{
		if(s[i]>='0'&&s[i]<='9')
		{
//			if(hvm==1)flag=1;
			x*=10;
			x+=s[i]-'0';
			if((hvs<=3&&x>=256)||(x==0&&((i>0&&s[i-1]>='0'&&s[i-1]<='9')||(i<sl-1&&s[i+1]>='0'&&s[i+1]<='9')))||(hvs<=4&&x>=65536)||hvs>=5)return 0;
		}
		else if(s[i]=='.')
		{
			if(i==0)return 0;
			if(s[i-1]=='.')return 0;
			hvs++;
			hvb++;
			if(hvm>=1)return 0;
			x=0;
		}
		else if(s[i]==':')
		{
			if(hvb<3)return 0;
			hvm++;
			hvs++;
			x=0;
		}
		else return 0;
	}
	hvs++;
//	hvs+=flag;
	if(hvs!=5||hvb!=3||hvm!=1)return 0;
	return 1;
}
int main()
{
	int n;
	cin>>n;
	string s,ip;
	for(int i=1;i<=n;i++)
	{
		cin>>s>>ip;
		if(!check(ip))
		{
			puts("ERR");
			continue;
		}
		if(s=="Server")
		{
			if(mp[ip]!=0)puts("FAIL");
			else mp[ip]=i,puts("OK");
		}
		else if(s=="Client")
		{
			if(mp[ip]==0)puts("FAIL");
			else printf("%d\n",mp[ip]);
		}
	}
    return 0;
}

那么下面这组数据输出是"OK"

1
Server 1.1.1.1:

但这很明显是ERR 但我交了这份代码就AC了

2021/10/24 13:39
加载中...