#include <stdio.h>
#define MAX 100
int graph[MAX][MAX];
int visited[MAX];
int n;
void DFS(int vertex)
{
visited[vertex] = 1;
printf("%d ", vertex);
for (int i = 0; i < n; i++)
{
if (graph[vertex][i] == 1 && !visited[i])
{
DFS(i);
}
}
}
int main()
{
int edges, u, v, start;
printf("Enter number of vertices: ");
scanf("%d", &n);
printf("Enter number of edges: ");
scanf("%d", &edges);
printf("Enter edges (u v):\n");
for (int i = 0; i < edges; i++)
{
scanf("%d %d", &u, &v);
graph[u][v] = 1;
graph[v][u] = 1;
}
printf("Enter starting vertex: ");
scanf("%d", &start);
DFS(start);
return 0;
}2 views