P7911求调
  • 板块学术版
  • 楼主yemengzhi
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/7 19:20
  • 上次更新2024/10/7 21:32:47
查看原帖
P7911求调
370916
yemengzhi楼主2024/10/7 19:20
#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n;
map <string,int> mp;
string sss[1001];
bool kobebryant(string s)
{
	string tm="";
	for(int i=0;i<s.size();i++)
	{
		if(!(s[i]>='0'&&s[i]<='9'))
			tm+=s[i];
	}
	if(tm!="...:")
		return false;
	int flg=0;
	for(int i=0;i<s.size();i++)
	{
		if(s[i]>'0'&&s[i]<='9'&&flg==0)
			flg=1;
		if(!(s[i]>='0'&&s[i]<='9'))
			flg=0;
		if(s[i]=='0'&&s[i+1]=='0'&&flg==0)
			return false;
	}
	int a[6],tmp=1,ans=0,t=0,flag=0;
	for(int i=s.size()-1;i>=0;i--)
	{
		if(!(s[i]>='0'&&s[i]<='9'))
		{
			a[tmp]=ans;
			ans=0;
			if(flag==0)
				return false;
			tmp++;
			flag=0;
			t=0;
			continue;
		}
		else
			ans+=(s[i]-'0')*pow(10,t),t++,flag=1;
	}

	//cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<" "<<a[4]<<" "<<a[5]<<endl;
	if(a[1]>65535||a[2]>255||a[3]>255||a[4]>255||a[5]>255)
		return false;
	return true;
}
void Merge1(int id,string s)
{
	if(mp[s]!=0)
	{
		//sss[id]="FAIL";
		cout<<"FAIL"<<endl;
		return;
	}
	else
	{
		mp[s]=id;
		//sss[id]="OK";
		cout<<"OK"<<endl;
		return;
	}
}
void Merge2(int id,string s)
{
	string ttt="";
	int tt=0;
	int sada;
	if(mp[s]==0)
	{
		//sss[id]="FAIL";
		cout<<"FAIL"<<endl;
		return;
	}
	else
	{
		cout<<mp[s]<<endl;
		//sada=mp[s];
		//while(sada>0)
		//{
		//	ttt[tt]=sada%10+'0';
		//	sada/=10;
		//	tt++;
		//}
		//for(int i=tt-1;i>=0;i--)
		//	sss[id]+=ttt[i];
		return;
	}
}
signed main()
{
	IOS
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		string id,s;
		cin>>id>>s;
		if(!kobebryant(s))
		{
			//sss[i]="ERR";
			cout<<"ERR"<<endl;
			continue;
		}
		if(id=="Server")
			Merge1(i,s);
		else
			Merge2(i,s);
	}
	//cout<<endl;
	//for(int i=1;i<=n;i++)
	//	cout<<sss[i]<<endl;
}

求hack数据或调代码qwq

2024/10/7 19:20
加载中...