
import Foundation
let Nrc = readLine()!.components(separatedBy: " ").map { Int($0)! }
let N = Nrc[0]
let r = Nrc[1]
let c = Nrc[2]
var cnt = 0
// ํ ๋ณ์ ๊ธธ์ด
let m = 2 << (N-1)
func check(_ x: Int, _ y: Int, _ n: Int) {
if n == 2 {
if x == r, y == c {
print(cnt)
return
}
cnt += 1
if x == r, y+1 == c {
print(cnt)
return
}
cnt += 1
if x+1 == r, y == c {
print(cnt)
return
}
cnt += 1
if x+1 == r, y+1 == c {
print(cnt)
return
}
return
} else {
let w = n/2
if r < x+w, c < y+w {
check(x, y, w)
} else if r < x+w, c < y+n {
cnt += w*w
check(x, y+w, w)
} else if r < x+n, c < y+w {
cnt += w*w*2
check(x+w, y, w)
} else {
cnt += w*w*3
check(x+w, y+w, w)
}
}
}
check(0, 0, m)
๋ถํ ์ ๋ณต ์์ฉํด์ ํธ๋ ๋ฌธ์ ์ธ๋ฐ ์กฐ๊ธ ์ด๋ ค์ ๋ค.
๋ฐ์ํ
'๐ ์ฝํ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค2606 ๋ฐ์ด๋ฌ์ค (0) | 2023.04.12 |
---|---|
[Swift] ๋ฐฑ์ค 1927 ์ต์ ํ (0) | 2023.04.11 |
[Swift] ๋ฐฑ์ค2630 ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2023.04.11 |
[Swift] ๋ฐฑ์ค2630 ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2023.04.04 |
[Swift] ๋ฐฑ์ค 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2023.04.04 |

import Foundation
let Nrc = readLine()!.components(separatedBy: " ").map { Int($0)! }
let N = Nrc[0]
let r = Nrc[1]
let c = Nrc[2]
var cnt = 0
// ํ ๋ณ์ ๊ธธ์ด
let m = 2 << (N-1)
func check(_ x: Int, _ y: Int, _ n: Int) {
if n == 2 {
if x == r, y == c {
print(cnt)
return
}
cnt += 1
if x == r, y+1 == c {
print(cnt)
return
}
cnt += 1
if x+1 == r, y == c {
print(cnt)
return
}
cnt += 1
if x+1 == r, y+1 == c {
print(cnt)
return
}
return
} else {
let w = n/2
if r < x+w, c < y+w {
check(x, y, w)
} else if r < x+w, c < y+n {
cnt += w*w
check(x, y+w, w)
} else if r < x+n, c < y+w {
cnt += w*w*2
check(x+w, y, w)
} else {
cnt += w*w*3
check(x+w, y+w, w)
}
}
}
check(0, 0, m)
๋ถํ ์ ๋ณต ์์ฉํด์ ํธ๋ ๋ฌธ์ ์ธ๋ฐ ์กฐ๊ธ ์ด๋ ค์ ๋ค.
๋ฐ์ํ
'๐ ์ฝํ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค2606 ๋ฐ์ด๋ฌ์ค (0) | 2023.04.12 |
---|---|
[Swift] ๋ฐฑ์ค 1927 ์ต์ ํ (0) | 2023.04.11 |
[Swift] ๋ฐฑ์ค2630 ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2023.04.11 |
[Swift] ๋ฐฑ์ค2630 ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2023.04.04 |
[Swift] ๋ฐฑ์ค 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2023.04.04 |