145892025-01-19 14:47:03zsombHálózati biztonság (50)cpp17Hibás válasz 17/50160ms7020 KiB
#include <bits/stdc++.h>
using namespace std;

struct node
{
    vector<int> order_;

    int in = 1;
    int connCount = 0;
};

void halfBFS(vector<node> *graph, int currIdx, vector<int> *queue, int k)
{
    if ((*graph)[currIdx].connCount < k && (*graph)[currIdx].in != 0)
    {
        (*graph)[currIdx].in = 0;

        for (int i = 0; i < (*graph)[currIdx].order_.size(); i++)
        {
            int nextIdx = (*graph)[currIdx].order_[i];

            if ((*graph)[nextIdx].connCount > k && (*graph)[nextIdx].in != 0)
                (*queue).push_back(nextIdx);

            //(*graph)[currIdx].connCount = 0;
            (*graph)[nextIdx].connCount--;
        }

        while ((*queue).size() != 0)
        {
            int d = (*queue)[0];
            (*queue).erase((*queue).begin());
            if ((*graph)[d].connCount < k && (*graph)[d].in != 0)
                halfBFS(graph, d, queue, k);
        }
    }
}

int main()
{
    int n, m, k;
    cin >> n >> m >> k;

    vector<node> graph(n + 1);
    graph[0].in = 0;
    for (int i = 0; i < m; i++)
    {
        int u, v;
        cin >> u >> v;

        graph[u].order_.push_back(v);
        graph[v].order_.push_back(u);

        graph[u].connCount++;
        graph[v].connCount++;
    }
    vector<int> q(0);

    for (int i = 1; i < n + 1; i++)
    {
        if (graph[i].connCount < k)
            halfBFS(&graph, i, &q, k);
    }

    int ossz = 0;
    vector<int> end(0);
    for (int i = 1; i < n + 1; i++)
    {
        if (graph[i].in == 1)
        {
            ossz++;
            end.push_back(i);
        }
    }
    cout << ossz << endl;

    for (int i = 0; i < end.size(); i++)
    {
        cout << end[i] << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base17/50
1Hibás válasz0/01ms316 KiB
2Elfogadva0/087ms3892 KiB
3Elfogadva2/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Hibás válasz0/21ms332 KiB
9Hibás válasz0/21ms316 KiB
10Elfogadva2/27ms564 KiB
11Hibás válasz0/22ms316 KiB
12Hibás válasz0/24ms748 KiB
13Hibás válasz0/32ms500 KiB
14Hibás válasz0/34ms824 KiB
15Elfogadva3/37ms1332 KiB
16Hibás válasz0/382ms3016 KiB
17Hibás válasz0/36ms636 KiB
18Hibás válasz0/310ms2100 KiB
19Hibás válasz0/393ms6196 KiB
20Elfogadva3/3160ms7020 KiB
21Elfogadva3/3105ms6380 KiB
22Hibás válasz0/31ms316 KiB