11 Can anyone convert below C++ to C? #include using namespace std; const int N = 2005; // In this we will store mentor of every person vector adj[N]; bool vis[N]; void dfs(int s,int &cnt){ // If already visited then return if(vis[s]==true) return; // Otherwise mark it as true vis[s]=true; cnt = cnt + 1; // check for its mentors for(auto u:adj[s]) dfs(u,cnt); } int main() { // Taking number of people as input from the user int n; cin>>n; // Taking the mentor as input from the user for(int i=1;i<=n;i++){ int m; cin>>m; // If there is a mentor of ith person if(m!=-1) { // add directed edge between i and m adj[i].push_back(m); } } // In this variable store our final answer i.e. number of groups int ans = 0; for(int i=1;i<=n;i++){ // Marking all the people initially as not included for(int j=1;j<=n;j++) vis[j]=false; // run a DFS from here count all people which are can be supervisior // for this person int cnt = 0; dfs(i,cnt); // Answer will maximum of answer till now and this count ans = max(ans,cnt); } // Print the number of groups cout<< ans;

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

11

Can anyone convert below C++ to C?

#include <bits/stdc++.h>

using namespace std;

const int N = 2005;

// In this we will store mentor of every person

vector<int> adj[N];

bool vis[N];

void dfs(int s,int &cnt){

 

// If already visited then return

if(vis[s]==true)

return;

 

// Otherwise mark it as true

vis[s]=true;

cnt = cnt + 1;

 

// check for its mentors

for(auto u:adj[s])

dfs(u,cnt);

}

int main() {

 

// Taking number of people as input from the user

int n;

cin>>n;

 

// Taking the mentor as input from the user

for(int i=1;i<=n;i++){

int m;

cin>>m;

 

// If there is a mentor of ith person

if(m!=-1)

{

// add directed edge between i and m

adj[i].push_back(m);

}

}

 

// In this variable store our final answer i.e. number of groups

int ans = 0;

 

for(int i=1;i<=n;i++){

 

// Marking all the people initially as not included

for(int j=1;j<=n;j++)

vis[j]=false;



// run a DFS from here count all people which are can be supervisior

// for this person

int cnt = 0;

dfs(i,cnt);

 

// Answer will maximum of answer till now and this count

ans = max(ans,cnt);

}

 

// Print the number of groups

cout<< ans;

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Concept of pointer parameter
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education