Click here to Skip to main content
14,930,311 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
The problem link is Online Judge[^]

I can find the solution online but i do not understand it. I do know dfs and graphs.
It would be of great help if someone explained it. There are very few explanations on the net, each of which are not in english. Thank you.

What I have tried:

#include<iostream>
using namespace std;
int count=0;
int marked[]={0,0,0,0,0,0};
void dfs(int data[][6],int v){
	cout<<v+1<<" ";
	marked[v]=1;
	count++;
	for(int i=0;i<6;i++){
		if (data[v][i]==1 && !marked[i])dfs(data,i);
	}
}
void solve(){
	int data[6][6];
	for(int i=0;i<6;i++)
		for(int j=0;j<6;j++)cin>>data[i][j];
		
	dfs(data,0);
	cout<<"Number of war eagles:"<<count;
}
int main(){
	 solve();
}
Posted
Updated 6-May-21 9:35am
Comments
Richard MacCutchan 6-May-21 12:39pm
   
What is the problem?
coderrrrrrrrrr12 6-May-21 13:06pm
   
Check out the link i have given.
Richard MacCutchan 7-May-21 2:55am
   
Sorry, I am not following links to other websites. If you want people to help you then you need to provide full details of your problem here.
Gerry Schmitz 6-May-21 13:02pm
   
Is that one of the "solutions" you found, or your attempt (which does or does not work). Can't tell if you want a solution, an explanation, or a shoulder to cry on.
coderrrrrrrrrr12 6-May-21 13:08pm
   
A shoulder would be great but for now i just need an explanation. The code i provided is what i tried but it does not work the way i want it to. I need to understand how to apply dfs to solve the problem. The problem is provided on the link given.

1 solution

The idea of a "code challenge" is to challenge you, not us!

If you don't understand a solution you found online, then either learn the fundamentals it is using (including any algorithm(s) it implements) or leave the challenge until your skills match up better.

If you wrote code which "should solve it" and you can't get it to work then use a debugger to find out where what it does do differs from what you expected it to. Fortunately, you have a tool available to you which will help you find out what is going on: the debugger. How you use it depends on your compiler system, but a quick Google for the name of your IDE and "debugger" should give you the info you need.

Put a breakpoint on the first line in the function, and run your code through the debugger. Then look at your code, and at your data and work out what should happen manually. Then single step each line checking that what you expected to happen is exactly what did. When it isn't, that's when you have a problem, and you can back-track (or run it again and look more closely) to find out why.

Sorry, but we can't do that for you - time for you to learn a new (and very, very useful) skill: debugging!
   

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900