66202023-12-13 00:29:47xxxParti (75 pont)cpp17Hibás válasz 3/75104ms31108 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int mxN = 100001;
int n;
vector<vector<int> > adj(mxN), adj2(mxN), scc(mxN);
vector<int> topOrd;
bool vis[mxN];
int cnt = 0;

void dfs(int u) {
    vis[u] = true;
    for(int x : adj[u]) {
        if (!vis[x]) {
            dfs(x);
        }
    }
    topOrd.push_back(u);
}

void dfs2 (int u) {
    vis[u] = true;
    scc[cnt].push_back(u);

    for(int x : adj2[u]) {
        if(!vis[x]) {
            dfs2(x);
        }
    }
}

signed main() {
    //freopen("be.txt", "r", stdin);
    cin >> n;
	for(int i = 1; i <= n; i++) {
        int x, y;
        cin >> x >> y;
        adj[i].push_back(y);
        adj[i].push_back(x);
        adj2[x].push_back(i);
        adj2[y].push_back(i);
	}

	for(int i = 1; i <= n; i++) {
        if(!vis[i]) {
            dfs(i);
        }
	}

	reverse(topOrd.begin(), topOrd.end());
	memset(vis, false, mxN);

	for(int x : topOrd) {
        if (!vis[x]) {
            dfs2(x);
            cnt++;
        }
	}
	int tmp = -1, ind = 0;
	for(int i = 0; i < cnt; i++) {
        if ((int)scc[i].size() > tmp) {
            tmp = scc[i].size();
            ind = i;
        }
        //cout << scc[i].size() << " " << tmp << " ";
	}
	cout << tmp << endl;
	for(auto x : scc[ind]) {
        cout << x << " ";
	}


    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/75
1Elfogadva0/08ms15908 KiB
2Hibás válasz0/071ms28792 KiB
3Hibás válasz0/38ms17048 KiB
4Elfogadva3/38ms17196 KiB
5Hibás válasz0/38ms17284 KiB
6Hibás válasz0/38ms17344 KiB
7Hibás válasz0/38ms17564 KiB
8Hibás válasz0/48ms17692 KiB
9Hibás válasz0/48ms18036 KiB
10Hibás válasz0/49ms18568 KiB
11Hibás válasz0/48ms18672 KiB
12Hibás válasz0/412ms19048 KiB
13Hibás válasz0/413ms19544 KiB
14Hibás válasz0/412ms19800 KiB
15Hibás válasz0/472ms30416 KiB
16Futási hiba0/479ms31108 KiB
17Futási hiba0/482ms30980 KiB
18Futási hiba0/490ms30960 KiB
19Futási hiba0/497ms30932 KiB
20Futási hiba0/4104ms30888 KiB
21Futási hiba0/4104ms30896 KiB
22Hibás válasz0/48ms18244 KiB