inseonyun / Algorithm

알고리즘 문제 풀이
0 stars 0 forks source link

[DFS-BFS] SWEA : 14413_격자판 칠하기 #67

Closed inseonyun closed 1 year ago

inseonyun commented 1 year ago

Source URL : SWEA : 14413_격자판 칠하기

문제 요구사항 :

[입력]

[출력]

접근 방법 :

풀이 순서 :

  1. TC를 입력받아 해당 TC만큼 반복한다.
  2. N과 M을 입력받아 N M 크기만큼의 문자를 입력 받는다.
  3. BFS의 경우
    • 입력 받을 때 물음표의 위치를 queue에 저장해둔다.
    • 해당 큐 사이즈만큼 bfs 탐색을 돌며 격자판을 칠한다.
    • 다 끝난 후 격자판을 체크하여 문제 조건에 맞으면 possible, 아니면 impossible을 출력한다.
  4. DFS의 경우
    • 모든 입력을 받은 후, DFS 탐색을 한다.
    • 다음 칸이 ?라면, 현재 칸이 #이냐 .이냐에 따라 반대되는 것으로 색칠하고, dfs탐색을 해당 nx ny로 한다.
    • 다음 칸이 ?가 아니고, 지금 칸과 다음 칸의 값이 같다면, dfs 탐색을 종료하도록 한다.
    • 탐색이 중간에 종료 됐다면, impossible을 출력하고, 아니라면 계속 탐색해 나간다.
inseonyun commented 1 year ago

문제 풀이 결과 :

image