#include <stdio.h>
#include <stdlib.h>
/* ADJACENCY MATRIX */
int source
,V
,E
,time,visited
[20],G
[20][20]; void DFS(int i)
{
int j;
visited[i]=1;
for(j=0;j<V;j++)
{
if(G[i][j]==1&&visited[j]==0)
DFS(j);
}
}
int main()
{
int i,j,v1,v2;
printf("Enter the no of edges:"); printf("Enter the no of vertices:"); for(i=0;i<V;i++)
{
for(j=0;j<V;j++)
G[i][j]=0;
}
/* creating edges :P */
for(i=0;i<E;i++)
{
printf("Enter the edges (format: V1 V2) : "); G[v1-1][v2-1]=1;
}
for(i=0;i<V;i++)
{
for(j=0;j<V;j++)
}
DFS(source-1);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KLyogICAgICAgICAgQURKQUNFTkNZIE1BVFJJWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwppbnQgc291cmNlLFYsRSx0aW1lLHZpc2l0ZWRbMjBdLEdbMjBdWzIwXTsKdm9pZCBERlMoaW50IGkpCnsKICAgIGludCBqOwogICAgdmlzaXRlZFtpXT0xOwogICAgcHJpbnRmKCIgJWQtPiIsaSsxKTsKICAgIGZvcihqPTA7ajxWO2orKykKICAgIHsKICAgICAgICBpZihHW2ldW2pdPT0xJiZ2aXNpdGVkW2pdPT0wKQogICAgICAgICAgICBERlMoaik7CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBpbnQgaSxqLHYxLHYyOwogICAgcHJpbnRmKCJcdFx0XHRHcmFwaHNcbiIpOwogICAgcHJpbnRmKCJFbnRlciB0aGUgbm8gb2YgZWRnZXM6Iik7CiAgICBzY2FuZigiJWQiLCZFKTsKICAgIHByaW50ZigiRW50ZXIgdGhlIG5vIG9mIHZlcnRpY2VzOiIpOwogICAgc2NhbmYoIiVkIiwmVik7CiAgICBmb3IoaT0wO2k8VjtpKyspCiAgICB7CiAgICAgICAgZm9yKGo9MDtqPFY7aisrKQogICAgICAgICAgICBHW2ldW2pdPTA7CiAgICB9CiAgICAvKiAgICBjcmVhdGluZyBlZGdlcyA6UCAgICAqLwogICAgZm9yKGk9MDtpPEU7aSsrKQogICAgewogICAgICAgIHByaW50ZigiRW50ZXIgdGhlIGVkZ2VzIChmb3JtYXQ6IFYxIFYyKSA6ICIpOwogICAgICAgIHNjYW5mKCIlZCVkIiwmdjEsJnYyKTsKICAgICAgICBHW3YxLTFdW3YyLTFdPTE7CgogICAgfQoKICAgIGZvcihpPTA7aTxWO2krKykKICAgIHsKICAgICAgICBmb3Ioaj0wO2o8VjtqKyspCiAgICAgICAgICAgIHByaW50ZigiICVkICIsR1tpXVtqXSk7CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcHJpbnRmKCJFbnRlciB0aGUgc291cmNlOiAiKTsKICAgIHNjYW5mKCIlZCIsJnNvdXJjZSk7CiAgICAgICAgREZTKHNvdXJjZS0xKTsKICAgIHJldHVybiAwOwp9