https://www.acmicpc.net/problem/2503
세자리의 1-9까지 서로 다른 숫자의 조합
민혁이는 3자리 숫자를 임의로 제시해서 영수가 생각하고 있는 숫자를 맞추려고한다
동일한 자리에 위치하면 스트라이크 한 번으로 센다.
숫자가 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다.
제시한 숫자와 그 결과를 보고 정답으로 가능한 숫자의 갯수를 맞춰야함
N=int(input())
tc_list=[list(map(int,input().split())) for _ in range(N)]
result=0
for i in range(1,10):
for j in range(1,10):
for k in range(1,10):
if i==j or j==k or k==i:
continue # "세자리의 1-9까지 서로 다른 숫자의 조합" 만족을 위해
cnt=0
for tc in tc_list:
num=str(tc[0])
strike=tc[1]
ball=tc[2]
ball_cnt=0
strike_cnt=0
candidate=[i,j,k]
tc_num=[int(num[0]),int(num[1]),int(num[2])]
for x in range(3):
if candidate[x]==tc_num[x]:
strike_cnt+=1 #동일한 자리o, 동일한 값 -> strike
elif candidate[x] in tc_num:
ball_cnt+=1 # 동일한 자리x, 다른 자리에 같은 숫자 위치 ->ball
if ball_cnt==ball and strike_cnt==strike:
cnt+=1
if cnt==N:# 모든 tc를 만족하면 정답일 가능성인 수로 count
result+=1
print(result)