55分求助!i!i!i!?
查看原帖
55分求助!i!i!i!?
576173
FanSizhe127楼主2022/8/20 10:25
#include<bits/stdc++.h>
using namespace std;
bool q(string s){
    long long t=0,x=0,y=0,z=0,i,j,k,l;
    for(i=0;i<s.size();i++)
    {
        if((i==0||(s[i-1]=='.'||s[i-1]==':'))&&s[i]>='0'&&s[i]<='9')
            z++;
        if(s[i]=='.'||s[i]==':')
        {
            if(s[i]=='.')
                x++;
            else if(s[i]==':')
                y++;
            if((x<3&&y))
                return 0;
            if(!z)
                return 0;
            if(t<0||t>255)
                return 0;
            else
            {
                t=0;
                continue;
            }   
        }
        else if(s[i]<'0'||s[i]>'9')
            return 0;   
        if(i&&!t&&s[i-1]=='0')
            return 0;
        t=t*10+s[i]-'0';
    }
    if(x!=3||y!=1||z!=5)
        return 0;
    if(t<0||t>65535)
        return 0;
    else 
        return 1;
}
string ad[10005],a[10005],op[10005];
int main()
{
    int n,i,j,k,l;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>op[i]>>ad[i];
        k=1;
        int flag=0;
        if(op[i]=="Server")
        {
            if(q(ad[i])==0)
                cout<<"ERR"<<'\n';
            else 
            {
                for(j=1;j<=k;j++)
                {
                    if(a[j]==ad[i])
                    {
                        flag=1;
                        break; 
                    }                       
                }
                if(flag==1)
                    cout<<"FAIL"<<'\n';
                else
                {
                    cout<<"OK"<<'\n';
                    a[k]=ad[i];
                    k++;
                }                   
            }
        }
        else
        {
            if(q(ad[i])==0)
                cout<<"ERR"<<'\n';
            else 
            {
                for(j=1;j<=n;j++)
                {
                    if(!(op[j]=="Server"))
                        continue;
                    if(ad[j]==ad[i])
                    {
                        flag=1;
                        break; 
                    }                       
                }
                if(flag==0)
                    cout<<"FAIL"<<'\n';
                else
                {
                    cout<<j<<'\n';              
                }                   
            }
        }
    }
}
2022/8/20 10:25
加载中...