[BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ

2021. 9. 17. 12:35ยท๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS

๋ฌธ์ œ

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

 

1074๋ฒˆ: Z

ํ•œ์ˆ˜๋Š” ํฌ๊ธฐ๊ฐ€ 2N × 2N์ธ 2์ฐจ์› ๋ฐฐ์—ด์„ Z๋ชจ์–‘์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2×2๋ฐฐ์—ด์„ ์™ผ์ชฝ ์œ„์นธ, ์˜ค๋ฅธ์ชฝ ์œ„์นธ, ์™ผ์ชฝ ์•„๋ž˜์นธ, ์˜ค๋ฅธ์ชฝ ์•„๋ž˜์นธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•˜๋ฉด Z๋ชจ์–‘์ด๋‹ค. N > 1์ธ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์„

www.acmicpc.net

 

 

 

๋ฌธ์ œํ’€์ด

์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ฒ˜์Œ (2^N)*(2^N) ํฌ๊ธฐ์˜ 2์ฐจ์› ๋ฐฐ์—ด์—์„œ๋ถ€ํ„ฐ 4์‚ฌ๋ถ„๋ฉด์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ธธ์ด๋ฅผ ๋ฐ˜์”ฉ ์ค„์—ฌ๋‚˜๊ฐ„๋‹ค.

๋ถ„ํ• ๋œ ๋„ค ๊ณต๊ฐ„ ์ค‘ ( r , c )๊ฐ€ ์–ด๋А ๊ณณ์— ์†ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์†ํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ทธ ํฌ๊ธฐ๋งŒํผ ans ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค.

x==r ์ด๊ณ  y==c ์ด๋ฉด ans๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

 

์ฝ”๋“œ

import sys
input=sys.stdin.readline

n,r,c=map(int,input().split())
ans=0

def solve(x,y,n): #x,y์‹œ์ž‘์ , ๊ฐ ๋‚ด๋ถ€์‚ฌ๊ฐํ˜•
    global ans
    if x==r and y==c:
        print(ans)
        exit(0)
    if n==1:
        ans+=1
        return
    if not (x<=r<x+n and y<=c<y+n):
        ans+=n*n
        return
    temp=n//2
    solve(x,y,temp)
    solve(x,y+temp,temp)
    solve(x+temp,y,temp)
    solve(x+temp,y+temp,temp)

solve(0,0,2**n)
print(ans)

 

๊ธฐํƒ€

๊ตฌํ˜„ ์ž์ฒด๋Š” ๊ทธ๋‹ค์ง€ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ์œผ๋‚˜, ์ฒ˜์Œ์— ์žฌ๊ท€๊ฐ€ ์•„๋‹ˆ๋ผ for๋ฌธ์œผ๋กœ ์ง์ ‘ ๋‹ค ๋Œ๋ฆฌ๋ ค๊ณ  ์‹œ๋„ํ–ˆ์–ด์„œ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๋‹ค.

x๊ฐ€ r์ด๊ณ  y๊ฐ€ c์ผ ๋•Œ, ๋ฐ”๋กœ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ณ  return์„ ํ•ด์ฃผ์—ˆ์—ˆ๋Š”๋ฐ solve()์—์„œ 4๊ฐœ์˜ solve()๊ฐ€ ๋˜ ์ƒˆ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ ์ถœ๋ ฅ ํ›„ ์ข…๋ฃŒํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ > PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ/๋ฐฑ์ค€] 20047 ๋™์ „ ์˜ฎ๊ธฐ๊ธฐ - ์ž๋ฐ”  (3) 2021.10.05
[BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ  (0) 2021.09.17
[BOJ/๋ฐฑ์ค€] 14891 ํ†ฑ๋‹ˆ๋ฐ”ํ€ด - ํŒŒ์ด์ฌ  (0) 2021.09.15
[BOJ/๋ฐฑ์ค€] 13302 ๋ฆฌ์กฐํŠธ - ํŒŒ์ด์ฌ  (0) 2021.08.25
[BOJ/๋ฐฑ์ค€] 20923 ์ˆซ์ž ํ• ๋ฆฌ๊ฐˆ๋ฆฌ ๊ฒŒ์ž„ - ํŒŒ์ด์ฌ  (0) 2021.08.24
'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ/๋ฐฑ์ค€] 20047 ๋™์ „ ์˜ฎ๊ธฐ๊ธฐ - ์ž๋ฐ”
  • [BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 14891 ํ†ฑ๋‹ˆ๋ฐ”ํ€ด - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 13302 ๋ฆฌ์กฐํŠธ - ํŒŒ์ด์ฌ
.๋ฐ.
.๋ฐ.
  • .๋ฐ.
    Do IT
    .๋ฐ.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (40)
      • ๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ (21)
        • PS (16)
        • SQL (4)
        • ์ด๋ก  (5)
      • ๐ŸŽˆcapstone (2)
      • ๐Ÿ’ชBackend (12)
        • Django (8)
        • Spring (4)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    resposneentity
    ์ฝ”ํ…Œ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    springscheduler
    Django
    ๋ฌธ์ œํ’€์ด
    windowํ•จ์ˆ˜
    ์Šคํ”„๋ง๋ฐฐ์น˜
    Batch
    programmers
    ์Šค์ผ€์ค„๋Ÿฌ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    crud
    ๋ฐฑ์ค€
    SQL
    ์‘๋‹ตํ˜•์‹
    ์žฌ๊ท€
    ๋‹ค์ค‘์กฐ์ธ
    python
    PS
    apiresponse
    ์ž๋ฐ”
    responsecustomclass
    BOJ
    bruteforce
    BFS
    ํŒŒ์ด์ฌ
    ์„œ๋ธŒ์ฟผ๋ฆฌ
    MYSQL
    ETL
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
.๋ฐ.
[BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”