print(
conststd::vector<std::vector<int> > &a,
intV) {
16 for(
inti = 0; i < V; i++) {
18std::cout <<
"i="<< i <<
"-->";
21std::cout << j <<
" ";
24std::cout << std::endl;
37voidpush_vertex(
intv, std::stack<int> *st, std::vector<bool> *vis,
38 conststd::vector<std::vector<int> > &adj) {
40 for(
autoi = adj[v].begin(); i != adj[v].end(); i++) {
41 if((*vis)[*i] ==
false) {
42push_vertex(*i, st, vis, adj);
55voiddfs(
intv, std::vector<bool> *vis,
56 conststd::vector<std::vector<int> > &grev) {
59 for(
autoi = grev[v].begin(); i != grev[v].end(); i++) {
60 if((*vis)[*i] ==
false) {
76intkosaraju(
intV,
conststd::vector<std::vector<int> > &adj) {
77std::vector<bool> vis(V,
false);
79 for(
intv = 0; v < V; v++) {
80 if(vis[v] ==
false) {
81push_vertex(v, &st, &vis, adj);
85std::vector<std::vector<int> > grev(V);
86 for(
inti = 0; i < V + 1; i++) {
87 for(
autoj = adj[i].begin(); j != adj[i].end(); j++) {
88grev[*j].push_back(i);
94 for(
inti = 0; i < V; i++) vis[i] =
false;
99 if(vis[t] ==
false) {
118std::vector<std::vector<int> > adj(a + 1);
119 for(
inti = 0; i < b; i++)
126std::cout << kosaraju(a, adj) << std::endl;
int main()
Main function.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4