ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฐฑ์ค 1074๋ฒ Z ์ ๋๋ค.
๋ฌธ์ ๋ฅผ ๋ณด์๋ฉด,
( ์ด๋ฏธ์ง ํด๋ฆญํ๋ฉด ํฌ๊ฒ ๋ณผ ์ ์์ )
๋ฐฐ์ด์ ํฌ๊ธฐ๋ ๊ฐ๋ก (2 ** N ) * ์ธ๋ก (2 ** N) ์ด๋ฉฐ,
๊ทธ ๋ฐฐ์ด์์๋ ์์ ๊ฐ์ z ๋ชจ์์ ๊ท์น์ ๊ฐ์ง๋ฉฐ ์ซ์๊ฐ ๋ค์ด๊ฐ๋๋ค.
๊ทธ๋ฌ์๋ (r,c) ์ขํ์ ํด๋นํ๋ ์ซ์๋ฅผ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
์์ ์ ๋ ฅ2 ( 3, 7, 7 ) ์์ ๋ฅผ ๋ณผ๊ฒ์.
N์ด 3์ผ๋ , 7ํ 7์ด์ ๊ฐ์ด 63์ธ ๋ชจ์ต.
( ๊ณ ๋ฏผํ์.. )
-----------------------------------------------------------
๋ฌธ์ ์ ํ์ ๋ถํ ์ ๋ณต๊ณผ ์ฌ๊ท๋ผ๊ณ ํ๋ค์
๊ฐ๋จํด ๋ณด์ด์ง๋ง ์๋นํ ์ด๋ ค์ ์ต๋๋ค ใ ..
2์ n๊ฐ๋งํผ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ซ์๋ฅผ ๋ฃ๊ณ ์ขํ์ ํด๋นํ๋ ๊ฐ์ ์ฐพ์ผ๋ ค๊ณ ํ์ผ๋
์กฐ๊ฑด์ผ๋ก N ์ 15 ๊น์ง ๊ฐ๋ฅํ๋๊น ๊ฐ๋ก 2์ 15์น * ์ธ๋ก 2์ 15์น = 2์ 30์น.. ๋ฑ๋ด๋ ์๋์ฃ ?
๋ฐฐ์ด์ ๋ง๋๋๊ฒ์ ์๋๊ฒ๊ฐ์ต๋๋ค.
2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค. (๋ถํ , ์ฌ๊ท)
์ฒซ์งธ๋ก, ๋ถํ ์ ๋ณต ์ธก๋ฉด์ผ๋ก ์ ๊ทผํ์๋ฉด, ๊ณ์ 4๊ฐ์ ์์ญ์ผ๋ก ๋๋๋ ๊ท์น์ผ๋ก ๋ถํ ํ ์๊ฐ ์์ต๋๋ค.
๊ณ์ ์ด๋ค์์ญ์ ์ํด์๋ ๋ถํ ํด๊ฐ๋ฉฐ, ์ขํ์ ํด๋นํ๋ ๊ฐ์ ๊ท์น์ ์ฐพ์๊ฐ๋ณผ๊ฒ์.
( N = 3, 7ํ 7์ด์ ๊ฐ์ 63 )
์ด๋ ๊ฒ 4๊ฐ์ ์์ญ์ผ๋ก ๊ณ์ ๋ถํ ํ๋ฉฐ ์ด๋ค ๊ท์น์ด ์๋ ์์๋ณผ๊ฒ์
์ฒซ๋ฒ์งธ๋ก ์ชผ๊ฐฐ์๋ ( 7 , 7 ) ์ N = 3์ธ ์์ญ์์ ์ 4 ์ฌ๋ถ๋ฉด์ ํด๋นํฉ๋๋ค.
( ์ฝ๋๋ก ์ ๊ทผํ๋ฉด ๊ฐ๋ก ์ขํ 7 >= 2์ 2์น , ์ธ๋ก ์ขํ 7 >= 2์ 2์น ์ด๋ฏ๋ก ์ 4 ์ฌ๋ถ๋ฉด. )
๊ทธ๋ฆฌ๊ณ ์ 4์ฌ๋ถ๋ฉด์ 48๋ถํฐ ์์ํ๋ ๋ชจ์ต.
๊ฐ ์ฌ๋ถ๋ฉด์ ๊ฐ์๋ 16 ( 2์ 2์น * 2์ 2์น ) ์ด๋๊น
์ 2 ์ฌ๋ถ๋ฉด์ 0
์ 1 ์ฌ๋ถ๋ฉด์ 16
์ 3 ์ฌ๋ถ๋ฉด์ 32
์ 4 ์ฌ๋ถ๋ฉด์ 48๋ถํฐ ์์ํ๊ณ ์์ด์
๋๋ฒ์งธ๋ก ์ชผ๊ฐฐ์๋ ( 7 , 7 ) ์ ์ขํ๋ ( 3 , 3 ) ์ด ๋ฉ๋๋ค.
( ๊ฐ๋ก์ธ๋ก๊ฐ ๋ค์นธ์ฉ ์ค์ด๋๋๊น, 7 - 2์ 2์น = 3.)
๋ํ ( 3 , 3 ) ์ N = 2์ธ ์์ญ์์ ์ 4 ์ฌ๋ถ๋ฉด์ ํด๋นํ๋ ๋ชจ์ต.
( 3 >= 2์ 1์น , 3 >= 2์ 1์น ์ด๋ฏ๋ก )
48์ ๋บ๋ค๊ณ ๊ฐ์ ํ๋ฉด,
์ 4 ์ฌ๋ถ๋ฉด์ 12๋ถํฐ ์์ํฉ๋๋ค.
( ๊ฐ ์ฌ๋ถ๋ฉด์ ๊ฐ์๊ฐ 2์ 2์น ์ผ๋ก 4 ๋๊น 4 * 3 = 12. )
( N = 2, 3ํ 3์ด์ ๊ฐ์ 63 - 48 = 12 )
์ธ๋ฒ์งธ๋ก ์ชผ๊ฐ๋ฉด ( 3 , 3 ) ์ ์ขํ๋ ( 1 , 1 ) ๋ก, ์ 4 ์ฌ๋ถ๋ฉด์ ํด๋นํฉ๋๋ค.
( ๊ฐ๋ก์ธ๋ก๊ฐ ๋์นธ์ฉ ์ค์ด๋๋๊น, 3 - 2์1์น = 1 )
๊ทธ๋ฆฌ๊ณ 48์ ๋นผ๊ณ 12 ๋ฅผ ๋ ๋บ์๋
์ 4์ฌ๋ถ๋ฉด์ธ ( 1 , 1 )์ 3์ธ ๋ชจ์ต
(๊ฐ ์์ญ์ ๊ฐ์๋ 2์ 0์น ์ผ๋ก 1 ๋๊น 1 * 3 = 3.)
๊ทธ๋์ 48 + 12 + 3 ์ 63์ด ๋ฉ๋๋ค.
( N = 1, 1ํ 1์ด์ ๊ฐ์ 63 - 48 - 12 = 3 )
๊ท์น์ด ์กฐ๊ธ ๋ณด์ด์๋์?
์ฝ๋๋ก ๋ณด์ ๋ค๋ฉด ๋ ์ดํดํ์๊ธฐ ์ฌ์ธ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
N, r, c = map(int, input().split())
ans = 0
while N != 0:
N -= 1
# ์ 2์ฌ๋ถ๋ฉด
if r < 2 ** N and c < 2 ** N:
ans += ( 2 ** N ) * ( 2 ** N ) * 0
# ์ 1์ฌ๋ถ๋ฉด
elif r < 2 ** N and c >= 2 ** N:
ans += ( 2 ** N ) * ( 2 ** N ) * 1
c -= ( 2 ** N )
# ์ 3์ฌ๋ถ๋ฉด
elif r >= 2 ** N and c < 2 ** N:
ans += ( 2 ** N ) * ( 2 ** N ) * 2
r -= ( 2 ** N )
# ์ 4์ฌ๋ถ๋ฉด
else:
ans += ( 2 ** N ) * ( 2 ** N ) * 3
r -= ( 2 ** N )
c -= ( 2 ** N )
print(ans)
์ด๋ฐ์์ผ๋ก 4๊ฐ์ ์์ญ์ผ๋ก ๊ณ์ ๋ถํ ํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํด๋ณด์์ต๋๋ค.
์ด๋ฒ์ ์ฌ๊ท๋ก ์ ๊ทผํด๋ณด๊ฒ ์ต๋๋ค.
๋นจ๊ฐ์ Z๋ฅผ ๋ค์ง์ฐ๊ณ ( ๋นจ๊ฐ์ ๋๋ฌด๋ ๊ฐ๋ ฌ.. )
์์ธํ ๋ณด๋ฉด
์ ์ผ ์์ 2*2 ๋ฐ์ค
0 1
2 3
๋ก๋ถํฐ ๊ฐ๊ฐ ( 0 ์ ์ธ )
์ขํr,c๊ฐ 2๋ฐฐ๊ฐ ๋จ์ ๋ฐ๋ผ
๊ฐ์ด 4์ ๋ฐฐ์๋ก ํ์ฅํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
ex) 8 ( 2, 0 ) - > 32 ( 4, 0 )
ex) 14 ( 2, 3 ) - > 56 ( 4, 6 )
์ด ๋ฐฉ์์ผ๋ก ์ฌ๊ทํจ์๋ฅผ ๋ง๋ค๋ฉด,
N, r, c = map(int, input().split())
def sol(N, r, c):
if N == 0:
return 0
return 2*(r%2)+(c%2) + 4*sol(N-1, int(r/2), int(c/2))
print(sol(N, r, c))
์ด๋ ๊ฒ๋ ํ ์ ์์ต๋๋ค.
2*(r%2)+(c%2)๋ ๊ทธ๋ฆผ์์ ํ์ดํ๋ผ๊ณ ๋ณด์๋ฉด๋ฉ๋๋ค.
4์ ๋ฐฐ์์ธ ๊ฐ์ผ๋ก๋ถํฐ ๋ค๋ชจ์นธ์์ ์ด๋ํ๋
( 12์ 0 ์๋ ๋ณด์ด์ง ์๋ ํ์ดํ๊ฐ ์กด์ฌํ๋ ๋ชจ์ต. )
4*sol( N-1, int(r/2), int(c/2) ) ๋
์ด์ 4์ ๋ฐฐ์ํ๊ธฐ ์ด์ ์ ๊ฐ์ด๋ผ๊ณ ๋ณผ ์ ์์ฃ ..! ( ์ด์ ๊ฐ์ ์ขํ๊ฐ r // 2, c // 2 )
N์ด 0์ด ๋ ๋๊น์ง
์ ๋ง ์งง์ฃ ์ญ์ ์ฌ๊ท์ ๋๋ค.
์ถ๊ฐ ์์๋ก
44๋ฅผ ์๋ก ๋ค์ด๋ณผ๊ฒ์. 44๋ 11์์ 4๋ฅผ ๊ณฑํ์์ ๋๋ค.
11์ 8์์ 3์ ๋ํ ๊ฐ์ ๋๋ค. ( 2 * (1) + 1 = 3 )
8์ 2์ 4๋ฅผ ๊ณฑํ์์ฃ ?
๊ทธ๋์ 0 + 4 * ( 3 + 4 * ( 2 + 4 * ( 0 ) ) ) ๋ 44 ๊ฐ ๋์ค๋ ๋ชจ์ต.
์ฝ๋๋ง ๋ณด๋ฉด ์ด๋ ค์ธ ์๋ ์์ง๋ง,
๊ทธ๋ฆผ๊ณผ ํจ๊ป ๋ณด์ ๋ค๋ฉด ์ดํดํ์๋๋ฐ ๋์์ด ๋ ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค~
์ด๋ ๊ฒ ์ฌ๊ท๋ก๋ ํ์ด๋ดค์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค!!
๋ฌธ์ ์ถ์ฒ : https://www.acmicpc.net/problem/1074
- Total
- Today
- Yesterday
- rag ๊ธฐ๋ฐ llm
- ๋ ๋์ธ์ด ์ดํ
- ๋ ๋์ธ์ด
- swift network refactoring
- focus timer ์ดํ
- chatgpt rag llm
- readysay
- llm pdf rag
- swift network module
- swift urlsession network module
- swift filemanager get excel
- swift urlsession refactoring
- swift urlcomponent encode
- swift urlsession module
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- swift ์์ ์ฝ๊ธฐ
- rag llm pdf
- swift get excel
- swift ์๊ฐ
- swift network ๊ณตํตํ
- filemanager excel read
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- swift excel read
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- ์๋์ํํธ ๋ ์ด์ธ์ด
- swift queryitem encode
- llm csv
- swift urlsession ๊ณตํตํ
- swift filemanager excel
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |