社区讨论
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 条回复,欢迎继续交流。
正在加载回复...