社区讨论

55pts求调

P7911[CSP-J 2021] 网络连接参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@m2m05i3o
此快照首次捕获于
2024/10/23 23:01
去年
此快照最后确认于
2025/11/04 16:23
4 个月前
查看原帖
本人太菜大模拟看不出问题,求大佬帮忙
CPP
#include<bits/stdc++.h>
using namespace std;
map<string ,int>mp;
bool pd(string s)
{
	//int dian=0,maohao=0;
	string ch="";
	for(int i=0;i<s.size();i++)
	{
		if(s[i]=='.')ch+=s[i];
		if(s[i]==':')ch+=s[i];
	}
	if(ch!="...:")return false;
	string s1="",s2="",s3="",s4="",s5="";
	int t1=0,t2=0,t3=0,t4=0,t5=0;
	int pos;
	for(int i=0;s[i]!='.';i++,pos=i)
	{
		s1+=s[i];
	}
	for(int i=pos+1;s[i]!='.';i++,pos=i)
	{
		s2+=s[i];
	}
	for(int i=pos+1;s[i]!='.';i++,pos=i)
	{
		s3+=s[i];
	}
	for(int i=pos+1;s[i]!=':';i++,pos=i)
	{
		s4+=s[i];
	}
	for(int i=pos+1;i<s.size();i++)
	{
		s5+=s[i];
	}
	if(s1==""||s2==""||s3==""||s4==""||s5=="")return false;
	if(s1[0]=='0'&&s1.size()!=1||s2[0]=='0'&&s2.size()!=1||s3[0]=='0'&&s3.size()!=1||s4[0]=='0'&&s4.size()!=1||s5[0]=='0'&&s5.size()!=1)return false;
	for(int i=0;i<s1.size();i++)
	{
		t1=(s1[i]-'0')+t1*10;
	}
	for(int i=0;i<s2.size();i++)
	{
		t2=(s2[i]-'0')+t2*10;
	}
	for(int i=0;i<s3.size();i++)
	{
		t3=(s3[i]-'0')+t3*10;
	}
	for(int i=0;i<s4.size();i++)
	{
		t4=(s4[i]-'0')+t4*10;
	}
	for(int i=0;i<s5.size();i++)
	{
		t5=(s5[i]-'0')+t5*10;
	}
	if(t1>=0&&t1<=255&&t2>=0&&t2<=255&&t3>=0&&t2<=255&&t4>=0&&t4<=255&&t5>=0&&t5<=65535)return true;
	else return false;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		string op,dz;
		cin>>op>>dz;
		if(op=="Server")
		{
			if(pd(dz))
			{
				if(mp[dz]==0)
				{
					mp[dz]=i,cout<<"OK"<<endl;
					continue;
				}
				else 
				{
					cout<<"FAIL"<<endl;
					continue;
				}
			}
			else 
			{
				cout<<"ERR"<<endl;
				continue;
			}
		}
		else 
		{
			if(pd(dz))
			{
				if(mp[dz]!=0)
				{
					cout<<mp[dz]<<endl;
					continue;
				}
				else
				{
					cout<<"FAIL"<<endl;
					continue;
				} 
			}
			else
			{
				cout<<"ERR"<<endl;
				continue;
			}
		}
	}
	
	return 0;
}

提交记录https://www.luogu.com.cn/record/184380598

回复

1 条回复,欢迎继续交流。

正在加载回复...