65分代码求助
查看原帖
65分代码求助
660871
2011Andy楼主2022/10/27 13:24

#13,14,17,18,19,20,21WA

#include<bits/stdc++.h>
using namespace std;
long long sum=0;
long long fuwuqi[1010][3];
long long a,b,c,d,e;
char wz[5]={'.','.','.','.',':'};
bool shuru()
{
    string p;
    cin>>p;
    long long fuhao=0;
    long long n=p.length();
    if(p[n-1]=='.'||p[n-1]==':')
        return 0;
    for(int i=0;i<n;i++)
        if(p[i]=='.'||p[i]==':')
        {
            fuhao++;
            if(fuhao>4)
                return 0;
            if(wz[fuhao]!=p[i])
                return 0;
            if(i<n-1&&p[i]==p[i+1])
                return 0;
            if(p[i+1]=='0'&&p[i+2]=='0')
                return 0;
        }
    if(fuhao<4)
        return 0;
    int gyc[30]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    int j=1;
    for(int i=0;i<n;i++)
    {
        if(p[i]=='.'||p[i]==':')
            i++,j++;
        if(i==n-1&&(p[i]=='.'||p[i]==':'))
            return 0;
        gyc[j]*=10;
        gyc[j]+=p[i]-'0';
    }
    a=gyc[1];
    b=gyc[2];
    c=gyc[3];
    d=gyc[4];
    e=gyc[5];
    return 1;
}
bool guifan(int a,int b,int c,int d,int e)
{
    if(a<=255&&b<=255&&c<=255&&d<=255&&e<=65535&&a>=0&&b>=0&&c>=0&&d>=0&&e>=0)
        return 1;
    return 0;
}
int sousuo(int n)
{
    for(int i=1;i<=sum;i++)
        if(fuwuqi[i][1]==n)
            return i;
    return 0;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        string named;
        cin>>named;
        if(shuru()==0)
            cout<<"ERR"<<endl;
        else
        {
            int panduan=a*7+b*9+c*10+d*5+e*8+a*b+c*d+e*e+a+c+b*b+a*e+c*b+d;
            if(named=="Server")
            {
                if(!guifan(a,b,c,d,e))
                    cout<<"ERR"<<endl;
                else if(!sousuo(panduan)>0)
                {
                    sum++;
                    fuwuqi[sum][1]=panduan;
                    fuwuqi[sum][2]=i;
                    cout<<"OK"<<endl;
                }   
                else
                {
                    cout<<"FAIL"<<endl;
                }
            }
            else
            {
                int jg=sousuo(panduan);
                if(!guifan(a,b,c,d,e))
                    cout<<"ERR"<<endl;
                else if(jg==0)
                    cout<<"FAIL"<<endl;
                else
                {
                    cout<<fuwuqi[jg][2]<<endl;
                }
            }
        }
    }
    return 0;
}

dalao求调

2022/10/27 13:24
加载中...