110302024-06-21 23:08:49CWMKaktuszgráfcpp17Hibás válasz 18/504ms632 KiB
#include <iostream>
#include <vector>
#include <climits>
#include <algorithm>
using namespace std;

int n, m;
vector<vector<int>> graph;
vector<int> LNum;
vector<int> disc;
int lastDisc = 0;
void DFS(int vertexNum, int directParent) {
    disc[lastDisc] = vertexNum;
    LNum[vertexNum] = lastDisc;
    lastDisc++;
    for (auto neigh : graph[vertexNum]) {
        if (LNum[neigh] == INT_MAX) {
            DFS(neigh, vertexNum);
        }
    }
    for (auto neigh : graph[vertexNum]) {
        if (neigh != directParent) {
            LNum[vertexNum] = min(LNum[vertexNum], LNum[neigh]);
        }
    }
    return;
}

int main()
{
    cin >> n >> m;
    graph.resize(n);
    LNum.resize(n, INT_MAX);
    disc.resize(n, -1);
    for (size_t i = 0; i < m; i++)
    {
        int a, b;
        cin >> a >> b;
        a--; b--;
        graph[a].push_back(b);
        graph[b].push_back(a);
    }
    DFS(0, -1);
    vector<int> counts(n);
    for (size_t i = 0; i < LNum.size(); i++)
    {
        counts[LNum[i]]++;
    }
    int maxV = -1;
    for (size_t i = 0; i < counts.size(); i++)
    {
        maxV = max(maxV, counts[i]);
    }
    cout << maxV;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base18/50
1Elfogadva0/03ms484 KiB
2Hibás válasz0/03ms356 KiB
3Hibás válasz0/23ms424 KiB
4Hibás válasz0/23ms440 KiB
5Elfogadva2/23ms388 KiB
6Hibás válasz0/24ms484 KiB
7Elfogadva2/24ms512 KiB
8Elfogadva2/24ms632 KiB
9Hibás válasz0/24ms528 KiB
10Hibás válasz0/24ms484 KiB
11Hibás válasz0/24ms484 KiB
12Hibás válasz0/23ms552 KiB
13Hibás válasz0/23ms420 KiB
14Hibás válasz0/24ms488 KiB
15Hibás válasz0/24ms484 KiB
16Hibás válasz0/24ms484 KiB
17Hibás válasz0/23ms632 KiB
18Hibás válasz0/24ms396 KiB
19Hibás válasz0/34ms484 KiB
20Hibás válasz0/34ms356 KiB
21Elfogadva3/33ms548 KiB
22Elfogadva3/33ms620 KiB
23Elfogadva3/34ms504 KiB
24Elfogadva3/34ms612 KiB