๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Problem Solving/BAEKJOON

[baekjoon]python #2798 ๋ธ”๋ž™์žญ

by DevIseo 2022. 6. 3.

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

 

2798๋ฒˆ: ๋ธ”๋ž™์žญ

์ฒซ์งธ ์ค„์— ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 100)๊ณผ M(10 ≤ M ≤ 300,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š” ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ํ•ฉ์ด M์„ ๋„˜์ง€ ์•Š๋Š” ์นด๋“œ 3์žฅ

www.acmicpc.net

 

def dfs(cnt,level):
    global Max,cards
    if level == 2:
        if cnt<=m:
            if Max<cnt:
                Max=cnt
        return

    for i in range(n):
        if visit[i]==1:continue
        visit[i]=1
        dfs(cnt+cards[i],level+1)
        visit[i]=0


n,m = map(int,input().split())
cards=list(map(int,input().split()))
visit=[0]*n
Max=0
for i in range(n):
    visit[i] = 1
    dfs(cards[i],0)
    visit[i]=0

print(Max)

๋Œ“๊ธ€