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;
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
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;
Step by step
Solved in 3 steps with 1 images