cout<<"Enter limit: ";
cin>>lim;
dls(strt,lim);
void dls(int node, int lim)
{
dls_level++; ///If function enters in a new/child node level incriments.
///This segment works to return if goal acheived. (Main modification of Standerd algo).
if(get_goal) return;
if(node==goal)
{
path.push_back(node);
get_goal=true;
return;
}
path.push_back(node);
vis[node]=1;
for(int i=1;i<=n;i++)
{
if(graph[node][i] && !vis[i])
{
if(dls_level<lim) dls(i,lim);
}
}
dls_level--; ///If Function returns from a node, level decrements.
}