求助!全部RE!
查看原帖
求助!全部RE!
1414711
wrixeo楼主2024/8/20 10:50

求大佬调一下这个全部RE的代码!

#include <bits/stdc++.h>

using namespace std;

struct node
{
    string cos;
    int a, b, c, d, e;
    string ans;
    int client_ans;
    bool can_be_connected;
};

int n;
bool flag = false;

int main()
{
    cin >> n;
    node com[n];
    for(int i = 1; i <= n; i++)
    {
        scanf("%s", &com[i].cos);
        scanf("%d.%d.%d.%d:%d", &com[i].a, &com[i].b, &com[i].c, &com[i].d, &com[i].e);
        if(com[i].cos == "Server")
        {
            for(int j = 1; j < i; j++)
            {
                if(com[i].a == com[j].a && com[i].b == com[j].b && com[i].c == com[j].c && com[i].d == com[j].d && com[i].e == com[j].e)
                {
                    flag = true;
                }
            }
            if(flag)
            {
                com[i].ans = "FAIL";
                flag = false;
                continue;
            }
            if(com[i].a < 0 || com[i].a > 255 || com[i].b < 0 || com[i].b > 255 || com[i].c < 0 || com[i].c > 255 || com[i].d < 0 || com[i].d > 255 || com[i].e < 0 || com[i].e > 65535)
            {
                com[i].ans = "ERR";
                com[i].can_be_connected = false;
                flag = false;
                continue;
            }
            com[i].ans = "OK";
            com[i].can_be_connected = true;
            flag = false;
            continue;
        }
        if(com[i].cos == "Client")
        {
            for(int j = 1; j < i; j++)
            {
                if(com[j].cos == "Server" && com[i].a == com[j].a && com[i].b == com[j].b && com[i].c == com[j].c && com[i].d == com[j].d && com[i].e == com[j].e && com[j].can_be_connected == true)
                {
                    com[i].client_ans = j;
                    com[i].ans = "GOOD";
                    flag = true;
                    break;
                }
            }
            if(flag)
            {
                flag = false;
                continue;
            }
            if(com[i].a < 0 || com[i].a > 255 || com[i].b < 0 || com[i].b > 255 || com[i].c < 0 || com[i].c > 255 || com[i].d < 0 || com[i].d > 255 || com[i].e < 0 || com[i].e > 65535)
            {
                com[i].ans = "ERR";
                flag = false;
                continue;
            }
            if(!flag)
            {
                flag = false;
                com[i].ans = "FAIL";
                continue;
            }
        }
    }

    for(int i = 1; i <= n; i++)
    {
        if(com[i].ans == "GOOD")
        {
            cout << com[i].client_ans << endl;
            continue;
        }
        cout << com[i].ans << endl;

    }
    return 0;
}

2024/8/20 10:50
加载中...