Sangmun

백준 7490번 0 만들기 본문

알고리즘/백준

백준 7490번 0 만들기

상상2 2023. 2. 4. 23:46

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

 

7490번: 0 만들기

각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다.

www.acmicpc.net

' ', '+', '-'을 조합하여 만들 수 있는 수식중에서 0이 되는것을 찾는 문제이며 문제에서 제시되는 수의 범위가 굉장히 좁기 때문에 백트래킹을 이용하여 풀어도 시간내에 해결이 되는 문제이다.

 

import sys
input = sys.stdin.readline
import copy

t = int(input())

result = []
def backtracking(i):

    global s

    if i == n:
        s += str(i)
        tmp = copy.deepcopy(s)
        tmp = tmp.replace(' ','')
        if eval(tmp) == 0:
            result.append(s)
        s = s[:-1]
        return

    s += str(i)

    for each in [' ','+','-']:
        s += each
        backtracking(i+1)
        s = s[:-1]

    s = s[:-1]


for _ in range(t):
    n = int(input())
    s = ''
    backtracking(1)
    result.append('')

for each in result:
    print(each)

'알고리즘 > 백준' 카테고리의 다른 글

백준 17976번 Thread knots  (0) 2023.05.13
백준 1495번 기타리스트  (0) 2023.02.06
백준 1449번 수리공  (0) 2023.02.03
백준 1049번 기타줄  (0) 2023.02.03
백준 11057 오르막 수  (0) 2022.12.22
Comments