"""
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXCjuQl6J5UDFAX0&categoryId=AXCjuQl6J5UDFAX0&categoryType=CODE
"""
def dfs(lenArr, arr, idx, tmp, cnt):
if len(tmp) == lenArr: return 1
for next in list(filter(lambda x : x != -1 ,[i if str(i) != arr[idx] and str(i) not in tmp else -1 for i in range(1, len(arr)+1)])): cnt += dfs(lenArr, arr, idx + 1, tmp + str(next), 0)
return cnt
for i in range(int(input())): print(dfs(int(input()), list(input().split()), 0, '', 0))
숏코딩으로 재미삼아 풀어봤다. 난이도는 D6이라 무난했다
'컴퓨터 > 코테' 카테고리의 다른 글
백준 1890 점프 - [dp] (0) | 2021.09.23 |
---|---|
백준 17836 - 공주 구출 [bfs] (0) | 2021.09.16 |
백준 1987 알파벳 - bfs (0) | 2021.09.12 |
블록이동하기(드론 조종) - bfs (0) | 2021.09.10 |
카카오 외벽 점검 (0) | 2021.09.10 |