🗝️

보너스 문제 :: 영역 다툼

다루고 있는 개념
BFS/DFS
난이도
Type
문제
file
소울곰은 빙키와 영역 다툼 게임을 하려고 한다. 게임판은 행과 열로 이루어진 직사각형 모양으로 게임판 내에는 울타리가 있다. 이러한 울타리로 영역이 나뉘고 울타리 안에서 이동할 수 있는 모든 칸을 하나의 영역으로 간주한다. 즉, 게임판은 여러 개의 영역으로 나눠질 수 있다.
 
영역 안에는 빈 칸, 소울곰의 캐릭터와 빙키의 캐릭터가 있다. 각 캐릭터는 수평과 수직으로만 이동이 가능하며 울타리 밖으로 나갈 수 없다.
영역 다툼은 한 영역 안의 캐릭터 수를 비교해서 더 많은 수의 캐릭터가 해당 영역을 차지할 수 있다. 만약 한 영역 안에서 소울곰 캐릭터가 3개, 빙키 캐릭터가 1개라면 소울곰이 해당 영역을 차지하게 된다. 이때, 한 영역에서 소울곰 캐릭터와 빙키 캐릭터가 동일한 수로 존재하지 않는다고 가정한다.
 
게임판이 주어졌을 때, 각각의 캐릭터가 차지하는 영역의 개수를 소울곰, 빙키 순으로 출력하고 소울곰이 이기면 1, 그렇지 않으면 -1을 출력한다. 무승부일 때는 0을 출력한다.
 

제한 사항

  1. 게임판은 board를 의미한다.
  1. 게임판의 높이는 h, 너비는 w로 주어진다.
  1. h와 w는 3이상 250 이하의 수이다.
  1. 소울곰 캐릭터는 'o', 빙키 캐릭터는 'v'이다.
  1. 울타리는 '#'를 의미한다.
  1. 빈 칸은 '.'을 의미한다.
  1. 출력할 값은 차례대로 배열에 넣어 출력한다.
  1. 영역이 빈 칸으로 존재할 수 있다.
 

입출력 예

input h = 6 w = 8 board = [ .######. #..o.vv# #.####.# #.#..#o# #.#.o#o# .######. ] output 2 0 1
input h = 9 w = 12 board = [ .###.#####.. #.oo#...#v#. #..o#.#.#.#. #..##o#...#. #.#v#o#####. #..#v#....#. #...v#v####. .####.#vv.o# .......####. ] output 2 3 -1
input h = 12 w = 8 board = [ .######. #.oo...# #.###### #.##vv.# #v##o### #####o## #ovo#v## #.o#v.## ###v#### ###v#oo# ##..#### .####### ] output 3 3 0
 
🔎
답안