https://www.acmicpc.net/problem/3980
3980번: 선발 명단
각각의 테스트 케이스에 대해서, 모든 포지션의 선수를 채웠을 때, 능력치의 합의 최댓값을 한 줄에 하나씩 출력한다. 항상 하나 이상의 올바른 라인업을 만들 수 있다.
www.acmicpc.net
브루스포스 문제
입력이 최대 11 *11 배열이므로 따로 dp를 쓸 필요없이 브루스포스로 풀었다.
전체 배열 돌면서 가장 수치가 높은 포메이션을 짜면 됨!
def dfs(level, path):
global Max
if level ==11:
Max = max(sum(path), Max)
return
for i in range(len(arr[level])):
if arr[level][i] == 0: continue
if visit[i] == 1: continue
visit[i] = 1
dfs(level+1, path + [arr[level][i]])
visit[i] = 0
t = int(input())
for tc in range(t):
arr = [list(map(int,input().split()))for _ in range(11)]
Max = 0
visit = [0]*11
dfs(0,[])
print(Max)
'Algorithm > baekjoon' 카테고리의 다른 글
[파이썬]baekjoon 1032: 명령 프롬포트 (0) | 2023.03.09 |
---|---|
[파이썬]baekjoon 1283: 단축키 지정 (0) | 2023.03.08 |
[파이썬]baekjoon 19949: 영재의 시험 (0) | 2023.03.04 |
[파이썬]baekjoon 2302: 극장 좌석 (0) | 2023.03.03 |
[파이썬]baekjoon 2644: 촌수계산 (0) | 2023.02.28 |
댓글