모각코
2020/07/08 모각코 2회차 결과
죽림인
2020. 7. 8. 23:54
https://www.acmicpc.net/problem/16987
16987번: 계란으로 계란치기
원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱
www.acmicpc.net
1.위 문제를 풀었다.
백트래킹을 하는 문제였는데 처음에 문제를 잘못 이해하여서 실수를 하여 시간을 많이 허비하였다.
import sys
from collections import deque
read = lambda : sys.stdin.readline().strip()
import copy
import collections
def dfs(number):
global answer
if number>=n:
result = 0
for i in range(n):
if mat[i][0]<=0:
result+=1
answer = max(answer,result)
return
elif mat[number][0]<=0:
dfs(number+1)
else:
flag = 0
for i in range(n):
if i==number or mat[i][0]<=0:
continue
mat[number][0] -=mat[i][1]
mat[i][0] -=mat[number][1]
flag = 1
dfs(number+1)
mat[number][0]+=mat[i][1]
mat[i][0] +=mat[number][1]
if flag==0:
dfs(n)
answer = 0
n = int(read())
mat = []
for _ in range(n):
mat.append(list(map(int,read().split())))
dfs(0)
print(answer)
2. 프로젝트를 위한 데이터셋을 찾아보았다.
일반적인 사람 데이터셋은 조금 많았지만 우리가 원하는 특정 동작의 데이터셋은 없는것 같았다.
하나하나씩 찾아서 라벨링 해야될듯하다..