0分下了样例,但是本地好像没有问题
  • 板块灌水区
  • 楼主linruyi
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/3 12:06
  • 上次更新2024/10/18 17:38:23
查看原帖
0分下了样例,但是本地好像没有问题
828759
linruyi楼主2024/10/3 12:06
#include<bits/stdc++.h>
using namespace std;
bool check(string y)
{
    int t,r=0;
    int vis=0;
    y+="!";
    for(int i=0;i<y.size()-1;i++)
    {
        if(y[i]>='0' && y[i]<='9')
        {
            if(y[i]-'0' == 0 && vis == 0)
            {
                if(y[i+1]>='0' && y[i+1]<='9')
                    return 0;
            }
            vis=1;
            r=r*10+(y[i]-'0');
            if(r > 65535) return 0;
        }
        else
        {
            t++;
            if(vis==0)
                return 0;
            //cout<<r<<endl;
            if(r>255) return 0;
            if((t <= 3 && y[i] !='.') || (t == 4 && y[i] !=':')) 
                return 0;
            if(t>4) return 0;
            //cout<<t<<" "<<y[i]<<endl;
            r=0,vis=0;
        }
    }
    if(t != 4)return 0;
    if(r>65535 ||vis == 0)return 0;
    //cout<<r<<" ";
    return 1;
}
map<string , int>vis;
string w,x;
int Q,t;
int main()
{
    cin>>Q;
    while(Q--)
    {
        t++;
        cin>>w>>x;
        if(w == "Server")//服务机
        {
            if(!check(x))//x是否合法
                cout<<"ERR\n";
            else//是否已经被建立
                if(vis[x])
                    cout<<"FAIL\n";
            else
            {
                vis[x] = t;
                cout<<"OK\n";
            }
        }
        else//客户机
        {
            if(!check(x))//x是否合法
                cout<<"ERR\n";
            else//是否可以被连接
                if(vis[x])
                    cout<<vis[x]<<"\n";
            else
            {
                cout<<"FAIL\n";
            }
        }
    }
    return 0;
}

#2数据:

10
Server 207.231.221.77:51007
Server 79.243.216.144:13350
Server 58.119.187.226:51586
Server 247.150.225.186:5558
Server 100.248.83.30:3352
Server 98.78.97.34:59089
Client 243.9.80.71:15160
Client 178.5.220.233:17605
Client 100.248.83.30:3352
Client 98.78.97.34:59089

输出:

OK
OK
OK
OK
OK
OK
FAIL
FAIL
5
6
2024/10/3 12:06
加载中...