-
[Algo Rhythm๐บ๐] BOJ 18290 - NM๊ณผ K(1)Algo Rhythm๐บ๐/BOJ 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
'Algo Rhythm๐บ๐ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algo Rhythm๐บ๐] BOJ 10971 - ์ธํ์ ์ํ 2 (0) 2021.07.10 [Algo Rhythm๐บ๐] BOJ 1759 - ์ํธ ๋ง๋ค๊ธฐ (0) 2021.06.30 [Algo Rhythm๐บ๐] BOJ 9095 - 1, 2, 3 ๋ํ๊ธฐ (0) 2021.06.29 [Algo Rhythm๐บ๐] BOJ 1748 - ์ ์ด์ด์ฐ๊ธฐ 1 (0) 2021.06.28 [Algo Rhythm๐บ๐] BOJ 17425 - ์ฝ์์ ํฉ (0) 2021.06.24