2022/07/16 ABC233 C - Product

ABC233 C - Product

atcoder.jp

組み合わせは深さ優先探索だって言ってんだろ.
あと関数内でグローバル変数にアクセスするときは,globalをつける必要があることを学んだ.(母語()がC言語なので,しばらくわけわからなくて悩んだ.)

ans = 0

def dfs(pos, product):
    global ans
    if pos == N:
        if product == X:
            ans += 1
        return 
    for i in range(1,La[pos][0]+1):
        dfs(pos+1, product*La[pos][i])
        
N, X = list(map(int, input().split()))
La = [list(map(int, input().split())) for i in range(N)]

dfs(0, 1)
print(ans)