ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

2529๋ฒˆ: ๋ถ€๋“ฑํ˜ธ

๋‘ ์ข…๋ฅ˜์˜ ๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ ‘<’์™€ ‘>’๊ฐ€ k๊ฐœ ๋‚˜์—ด๋œ ์ˆœ์„œ์—ด  A๊ฐ€ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๋ถ€๋“ฑํ˜ธ ๊ธฐํ˜ธ ์•ž๋’ค์— ์„œ๋กœ ๋‹ค๋ฅธ ํ•œ ์ž๋ฆฟ์ˆ˜ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด์„œ ๋ชจ๋“  ๋ถ€๋“ฑํ˜ธ ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ œ๏ฟฝ๏ฟฝ

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

 ๋ถ€๋“ฑํ˜ธ๊ฐ€ 2๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๋ฉด ๋ถ€๋“ฑํ˜ธ ์‚ฌ์ด์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๋Š” 3๊ฐœ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜๊ฐ€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ์ˆ˜์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋˜๋ฏ€๋กœ ์ด๋Š” ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด์ „์˜ N๊ณผ M (1)๊ณผ ๋‹ค๋ฅธ์ ์ด ์žˆ๋‹ค๋ฉด, ์ž…๋ ฅ๋œ ๋ถ€๋“ฑํ˜ธ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ํ™•์ธ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

 

 

์ฝ”๋“œ

def available(i, j, op):
    if op == '<':
        return i < j
    return i > j


def dfs(depth):
    global answer

    if depth == k + 1:
        '''
        ๊ฐ€์žฅ ์ฒ˜์Œ์— ์ฐพ๋Š” ๊ฐ’์ด MIN
        ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ฐพ๋Š” ๊ฐ’์ด MAX
        '''
        if not answer[MIN]:
            answer[MIN] = [*check]
        else:
            answer[MAX] = [*check]
        return

    for i in range(10):
        if i not in check:
            if not depth or available(check[depth - 1], i, op[depth - 1]):
                check[depth] = i
                dfs(depth + 1)
                check[depth] = -1


if __name__ == "__main__":
    MIN, MAX = 0, 1
    answer = [[] for _ in range(2)]
    k = int(input())
    op = input().split()
    nums = [num for num in range(10)]
    check = [-1] * (k + 1)
    dfs(0)

    for num in answer[MAX]:
        print(num, end='')
    print()
    for num in answer[MIN]:
        print(num, end='')

 ๋กœ์ง์„ ์ •ํ™•ํžˆ ์ž‘์„ฑํ•˜์˜€์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ๋ฌธ์ œ์—์„œ ์ฑ„์  ์‹คํŒจ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. 30๋ถ„ ๋™์•ˆ ์ฝ”๋“œ๋„ ๋ณด๊ณ  ๋ฐ˜๋ก€๋“ค๋„ ์ž…๋ ฅํ•ด๋ณด์•˜๋Š”๋ฐ, `check`๋ฅผ ํ•ด์ œํ•  ๋•Œ 0์ธ๋ฑ์Šค์™€ ์•ˆ๊ฒน์น˜๊ฒŒ -1๋กœ ์ดˆ๊ธฐํ™”ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋‹ค๋ณด๋‹ˆ ์‹คํŒจ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

 

 

 

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€