Posted on

Description

Submission

class Solution {
    vector<vector<int>> graph;
    int ret;
    int k;
    int n;

    void dfs(int cur, int t) {
        if(t == k) {
            if(n - 1 == cur) ++ret;
            return;
        }
        
        for(auto x: graph[cur]) {
            dfs(x, t + 1);
        }
    }
public:
    int numWays(int n, vector<vector<int>>& relation, int k) {
        graph.resize(n);
        ret = 0;
        this->k = k;
        this->n = n;

        for(auto& r: relation) {
            graph[r[0]].push_back(r[1]);
        }
        
        dfs(0, 0);

        return ret;
    }
};

Leave a Reply

Your email address will not be published. Required fields are marked *