백준/1000 ~
[백준 / C#] 1260 : DFS와 BFS
무오_
2023. 7. 9. 18:33
using System;
using System.Collections.Generic;
using System.Linq;
namespace _1260
{
class Program
{
static int n, m, v;
static int[] visited = new int[1001];
static int[,] arr = new int[1001, 1001];
static void DPS(int v)
{
Console.Write(v + " ");
visited[v] = 1;
for(int i=1; i<=n; i++)
{
if (visited[i] == 1 || arr[v, i] == 0)
continue;
DPS(i);
}
}
static void BPS(int v)
{
Queue<int> bps = new Queue<int>();
bps.Enqueue(v);
visited[v] = 0;
while(!bps.Count.Equals(0))
{
v = bps.First();
Console.Write(v + " ");
bps.Dequeue();
for(int i=1; i<=n; i++)
{
if (visited[i] == 0 || arr[v, i] == 0)
continue;
bps.Enqueue(i);
visited[i] = 0;
}
}
}
static void Solution()
{
DPS(v);
Console.WriteLine();
BPS(v);
}
static void Input()
{
int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
n = input[0]; m = input[1]; v = input[2];
for(int i=0; i<m; i++)
{
input = Console.ReadLine().Split().Select(int.Parse).ToArray();
arr[input[0], input[1]] = arr[input[1], input[0]] = 1;
}
}
static void Solve()
{
Input();
Solution();
}
static void Main(string[] args)
{
Solve();
}
}
}