AtCoder Beginner Contest 183 C. Travel【Python】
https://atcoder.jp/contests/abc183/tasks/abc183_c
AtCoder ProblemsのRecommendationで Difficulty: 335、Solve Probability: 51%でした。
import itertools N, K = map(int, input().split()) T = [] for i in range(N): T.append(list(map(int, input().split()))) l = [i for i in range(1, N)] ans = 0 for v in itertools.permutations(l): distance = 0 #現在の都市 c = 0 count = 0 for d in v: distance += T[c][d] #現在の都市を更新 c = d count += 1 #最後に都市1に戻る if count == N-1: distance += T[c][0] if distance == K: ans += 1 print(ans)