๐Ÿงฉ Algorithm/SWEA

[SWEA] 11688. Calkin-Wilf tree 1 (Python/D3)

devCloud 2024. 10. 20. 16:22
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com


Calkin-Wilf Tree

Calkin-Wilf Tree๋Š” ๋ชจ๋“  ์–‘์˜ ์œ ๋ฆฌ์ˆ˜๋ฅผ ์ค‘๋ณต ์—†์ด ํฌํ•จํ•˜๋Š” ์ด์ง„ ํŠธ๋ฆฌ์ด๋‹ค. ํŠธ๋ฆฌ์˜ ๊ฐ ๋…ธ๋“œ๋Š” ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๋ถ„์ˆ˜ ab\frac{a}{b}๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ์ž์‹์€ aa+b\frac{a}{a+b}, ์˜ค๋ฅธ์ชฝ ์ž์‹์€ a+bb\frac{a+b}{b} ํ˜•ํƒœ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์œ ๋ฆฌ์ˆ˜๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ’€์ด

์ž…๋ ฅ์ด LRL ์ด๋ผ๊ณ  ํ•˜์ž. ๊ทธ๋Ÿผ ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ฌธ์ž๊ฐ€ L์ด๋ฉด Right ๊ฐ’์— L ๊ฐ’์„ ๋”ํ•ด ๋ˆ„์ ํ•˜๊ณ , R์ด๋ฉด Left ๊ฐ’์— R ๊ฐ’์„ ๋”ํ•ด ๋ˆ„์ ์‹œํ‚จ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ Left๊ฐ’๊ณผ Right๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

Solution

test_case = int(input())
for tc in range(1, test_case + 1):
    node = input().strip()
    l = 1
    r = 1
    for i in node:
        if i == 'L':
            r += l
        else:
            l += r
    print("#%d %d %d" %(tc, l, r))

 


 

728x90