Submission #1233072

#TimeUsernameProblemLanguageResultExecution timeMemory
1233072LaMatematica14Star Trek (CEOI20_startrek)C++20
0 / 100
170 ms327680 KiB
#include <bits/stdc++.h>
using namespace std;

const long long mod = 1000000007;

int main() {
    long long N, D; cin >> N >> D;
    vector<vector<long long>> adj(N+1); // occhio 1-based
    for (long long  i = 0; i < N-1; i++) {
        long long u, v; cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }

    vector<long long> pot(1000000);
    pot[0] = 1;
    for (int i = 1; i < 1000000; i++) pot[i] = (pot[i-1]*2)%mod; 

    function<long long(int)> rec = [&](int a) -> long long{
        if (a == 0) return 1;
        return ((rec(a-1)+pot[2*a-2])%mod)*2;
    };
    cout << rec(D)%mod << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...