65tps求助
查看原帖
65tps求助
1243618
Jokersheng楼主2025/7/21 17:25
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N=1e3+5;

int T;

struct Node{
    string op;
    int a,b,c,d,e;
}n[N];

int check(string s,int x){
    if(s=="Server"){
        for(int i=1;i<x;i++){
            if(n[i].op==s){
                if(n[i].a==n[x].a&&n[i].b==n[x].b&&n[i].c==n[x].c&&n[i].d==n[x].d&&n[i].e==n[x].e){
                    return 0;
                }
            }
        }
        return 1;
    }else{
        for(int i=1;i<x;i++){
            if(n[i].op=="Server"){
                if(n[i].a==n[x].a&&n[i].b==n[x].b&&n[i].c==n[x].c&&n[i].d==n[x].d&&n[i].e==n[x].e){
                    return i;
                }
            }
        }
        return 0;
    }
}

signed main(){
    freopen("network.in","r",stdin);
    freopen("network.out","w",stdout);
    cin>>T;
    for(int i=1;i<=T;i++){
        cin>>n[i].op;
        string address;
        cin>>address;
        
        replace(address.begin(), address.end(), '.', ' ');
        replace(address.begin(), address.end(), ':', ' ');
        int t=sscanf(address.c_str(),"%lld %lld %lld %lld %lld",&n[i].a,&n[i].b,&n[i].c,&n[i].d,&n[i].e);
        
        if(t!=5) puts("ERR");
        else if(n[i].a<0||n[i].b<0||n[i].c<0||n[i].d<0||n[i].e<0){
            puts("ERR");
        }else if(n[i].a>255||n[i].b>255||n[i].c>255||n[i].d>255||n[i].e>65535){
            puts("ERR");
        }else{
            if(n[i].op=="Server"){
                if(check(n[i].op,i)){
                    puts("OK");
                }else{
                    puts("FAIL");
                } 
            }else if(n[i].op=="Client"){
                int res=check(n[i].op,i);
                if(res){
                    cout<<res<<endl;
                }else{
                    puts("FAIL");
                } 
            }else{
                puts("ERR");
            }
        }
    }
    return 0;
}
2025/7/21 17:25
加载中...