Algo Rhythm๐Ÿ•บ๐Ÿ’ƒ/BOJ

[Algo Rhythm๐Ÿ•บ๐Ÿ’ƒ] BOJ 18290 - NM๊ณผ K(1)

ALiNew 2021. 6. 30. 17:41

๐Ÿ’ซ๋ฌธ์ œ ๋ถ„์„

ํฌ๊ธฐ๊ฐ€ $n \times m\ (1 \le n,\ m \le 10)$์ธ ๊ฒฉ์žํŒ์„ $g$๋ผ๊ณ  ํ•˜์ž. $g$์˜ ๊ฐ ์นธ์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋Š”๋ฐ ์ธ์ ‘ํ•œ ์นธ๋“ค์„ ์ œ์™ธํ•˜๊ณ  $k\ (1 \le k \le \min (4, n \times m))$๊ฐœ์˜ ์นธ์„ ์„ ํƒํ•˜์—ฌ ๊ฐ ์นธ์— ๋“ค์–ด์žˆ๋Š” ๋ชจ๋“  ์ˆ˜๋“ค์„ ๋”ํ•  ๋•Œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

$g$์˜ ๊ฐ ์นธ์„ ํ•˜๋‚˜์˜ vertex๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋ฌธ์ œ๋Š” $n \times m$๊ฐœ์˜ vertex๋“ค ์ค‘์—์„œ ์ธ์ ‘ํ•œ ์นธ๋“ค์„ ์ œ์™ธํ•˜๊ณ  $k$๊ฐœ์˜ vertex๋ฅผ ์„ ํƒํ•  ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” backtracking ๋ฌธ์ œ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ”ฅ๋ฌธ์ œ ํ’€์ด

$n \times m$๊ฐœ์˜ ์นธ ์ค‘ $k$๊ฐœ์˜ ์นธ์„ ์„ ํƒํ•  ๋•Œ ํ•œ ๊ฐ€์ง€ ์กฐ๊ฑด์€ ์ด๋ฏธ ์„ ํƒ๋œ ์นธ๋“ค๊ณผ ์ธ์ ‘ํ•œ ์นธ์€ ์„ ํƒํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ฐ ์นธ์˜ ๋ฐฉ๋ฌธ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” $n \times m$ ํฌ๊ธฐ์˜ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด $v$๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.

$v$๋Š” ๊ทธ ๊ฐ’์ด 0์ด๋ฉด ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์Œ์„, 0๋ณด๋‹ค ํฌ๋ฉด ๋ฐฉ๋ฌธํ•จ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. $bool$ํ˜• ๋ฐฐ์—ด์ด ์•„๋‹ˆ๋ผ ์ •์ˆ˜ํ˜•์„ ์‚ฌ์šฉํ•œ ์ด์œ ๋Š” ์„ ํƒํ•œ ์นธ๋“ค ์ค‘ ์ธ์ ‘ํ•œ ์นธ์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ $f$๋ผ๊ณ  ํ•  ๋•Œ, $f$๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

โœจ๋ณต์žก๋„ ๋ถ„์„

๊ฒฉ์žํŒ $g$์˜ ํฌ๊ธฐ๋ฅผ $n \times m\ (1 \le n,\ m \le 10)$๋ผ๊ณ  ํ•˜๊ณ  ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์นธ์˜ ์ˆ˜๋ฅผ $k\ (1 \le k \le \min (4, n \times m))$๋ผ๊ณ  ํ•  ๋•Œ ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

โฐ์‹œ๊ฐ„ ๋ณต์žก๋„ : $O((nm)^k)$

  • $g$๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ $O(nm)$์ด ์†Œ์š”๋จ
  • ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ $f$๋Š” recursive case๋งˆ๋‹ค $O(nm)$์ด ์†Œ์š”๋˜๋Š”๋ฐ depth๊ฐ€ k์ผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— $O((nm)^k)$๊ฐ€ ์†Œ์š”๋จ

๐Ÿ ๊ณต๊ฐ„ ๋ณต์žก๋„ : $O(nm)$

  • $g$๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ $O(nm)$์ด ์†Œ์š”๋จ
  • $v$๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ $O(nm)$์ด ์†Œ์š”๋จ

 

๐ŸŒˆ์ฝ”๋“œ

 

๐ŸŒ๋ฌธ์ œ ์ถœ์ฒ˜

https://www.acmicpc.net/problem/18290

 

18290๋ฒˆ: NM๊ณผ K (1)

ํฌ๊ธฐ๊ฐ€ N×M์ธ ๊ฒฉ์žํŒ์˜ ๊ฐ ์นธ์— ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋‹ค. ์ด ๊ฒฉ์žํŒ์—์„œ ์นธ K๊ฐœ๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ด๊ณ , ์„ ํƒํ•œ ์นธ์— ๋“ค์–ด์žˆ๋Š” ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•œ ๊ฐ’์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋‹จ, ์„ ํƒํ•œ ๋‘ ์นธ์ด ์ธ์ ‘

www.acmicpc.net