17281번: ⚾
⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종
www.acmicpc.net
from itertools import permutations
N = int(input())
ablity = [list(map(int,input().split())) for _ in range(N)]
permu = [1,2,3,4,5,6,7,8]
result=0
for combi in permutations(permu,8):
combi=list(combi)
combi.insert(3,0) #항상 0번 1번은 4번째
ru1=False
ru2=False
ru3=False
out=0
cur = 0 #현재 몇 번 주자
count=0.
current_ru=0
while current_ru<N:
if(out==3):
ru1=False #루에 있는 주자 초기화
ru2=False
ru3=False
current_ru+=1 #이닝+
if(current_ru==N):
result = max(result,count)
break
out=0
if(cur==9):
cur=0
ab=ablity[current_ru][combi[cur]]
if(ab==1): #안타이면
if(ru3):
count+=1 #점수 +1
ru3=False
if(ru2):
ru2=False
ru3=True
if(ru1):
ru2=True
ru1=True
elif(ab==2): #2루타
if(ru3):
count+=1
ru3=False
if(ru2):
count+=1
if(ru1):
ru3=True
ru1=False
ru2=True
elif(ab==3): #3루타
if(ru3):
count+=1
if(ru2):
count+=1
ru2=False
if(ru1):
count+=1
ru1=False
ru3=True
elif(ab==4): #홈런
if(ru3):
count+=1
ru3=False
if(ru2):
count+=1
ru2=False
if(ru1):
count+=1
ru1=False
count+=1
else: #아웃
out+=1
cur+=1
print(int(result))
'코딩 > 백준' 카테고리의 다른 글
[python] 백준 18126 너구리 구구 (0) | 2023.04.07 |
---|---|
[python] 백준 1967 트리의 지름 (1) | 2023.04.07 |
[python] 백준 17471 게리맨더링 (0) | 2023.03.02 |
[python] 백준 20055 컨베이너 벨트 위의 로봇 (0) | 2023.03.02 |
[python] 백준 10026 적록 색약 DFS (1) | 2023.02.25 |