#include <stdio.h>
#define MAX_NODES 100
int graph[MAX_NODES][MAX_NODES];
int visited[MAX_NODES];
int n;
void dfs(int node) {
int i;
visited[node] = 1;
printf("%d ", node + 1);
for (i = 0; i < n; i++) {
if (graph[node][i] && !visited[i]) {
dfs(i);
}
}
}
int main() {
int m, i, u, v, start;
printf("Enter the number of nodes in the graph: ");
scanf("%d", &n);
printf("Enter the number of edges in the graph: ");
scanf("%d", &m);
for (i = 0; i < m; i++) {
printf("Enter the start and end nodes of edge %d: ", i + 1);
scanf("%d%d", &u, &v);
graph[u - 1][v - 1] = 1;
graph[v - 1][u - 1] = 1;
}
printf("Enter the start node for DFS traversal: ");
scanf("%d", &start);
dfs(start - 1);
return 0;
}