25分求助!!!
查看原帖
25分求助!!!
238691
Leo2020楼主2022/2/18 15:37

题目P7911

#include<bits/stdc++.h>
using namespace std;
map<string,bool>b;
map<string,int>c;
bool check(string m){
    int sum=0;
    bool flag=true;
    for(int i=0;i<m.size();i++){
        if(m[i]=='.'||m[i]==':'){
            if(sum<0||sum>255){
                flag=false;
                break;
            }
            sum=0;
        }else{
            sum*=10;
            sum+=m[i]-'0';
        }
    }
    if(sum<0||sum>65535||flag==false){
        return false;
    }
    return true;
}
int main(){
    int a,num=0;
    cin >> a;
    while(a--){
        string n,m;
        cin >> n >> m;
        if(check(m)==false){
            cout <<"ERR" << endl;
            continue;
        }
        if(n=="Server"){
        //if(n=="S"){
            if(b[m]==true){
                cout << "FAIL" << endl;
                continue;
            }
            b[m]=true;
            num++;
            c[m]=num;
            cout << "OK" << endl;
        }
        //if(n=="C"){
        if(n=="Client"){
            if(b[m]==false){
                cout << "FAIL" << endl;
                continue;
            }
            cout << c[m] << endl;
        }
    }

    return 0;
}

2022/2/18 15:37
加载中...