5264 2023. 04. 24 17:42:46 ZsofiaKeresztely Testvérvárosok cpp14 Elfogadva 100/100 703ms 358388 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pii pair<int, int>
#define se second
#define fi first
vector<vector<pii> > g;
vector<vector<int> > ls;
int n, k;

int dfs(int p, int v){
    int r = 0;
    ls[v][0] = 1;
    for (pii x : g[v]){
        if (x.fi == p) continue;
        r += dfs(v, x.fi);
        for (int i=0; i<k; i++){
            ls[v][(i+x.se)%k] += ls[x.fi][i];
        }
    }
    r *= 2;
    for (pii x : g[v]){
        if (x.fi == p) continue;
        for (int i=0; i<k; i++){
            r += (ls[v][i] - ls[x.fi][(i-x.se+500*k)%k]) * ls[x.fi][(501*k-i-x.se)%k];
        }
    }
    r += ls[v][0] - 1;
    return r/2;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n >> k;
    g.resize(n+1);
    ls.assign(n+1, vector<int> (k, 0));
    for (int i=0; i<n-1; i++){
        int a, b, w;
        cin >> a >> b >> w;
        g[a].push_back({b, w});
        g[b].push_back({a, w});
    }
    cout << dfs(0, 1);
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Elfogadva 3ms 2236 KiB
subtask2 15/15
3 Elfogadva 3ms 2812 KiB
4 Elfogadva 3ms 2556 KiB
5 Elfogadva 4ms 3448 KiB
6 Elfogadva 13ms 7908 KiB
7 Elfogadva 3ms 3060 KiB
8 Elfogadva 8ms 6228 KiB
9 Elfogadva 4ms 4040 KiB
subtask3 15/15
10 Elfogadva 10ms 6132 KiB
11 Elfogadva 4ms 4372 KiB
12 Elfogadva 37ms 15168 KiB
13 Elfogadva 32ms 15172 KiB
14 Elfogadva 37ms 17404 KiB
subtask4 20/20
15 Elfogadva 4ms 7440 KiB
16 Elfogadva 17ms 14148 KiB
17 Elfogadva 48ms 30300 KiB
18 Elfogadva 172ms 98008 KiB
19 Elfogadva 131ms 73204 KiB
20 Elfogadva 108ms 65676 KiB
21 Elfogadva 28ms 25632 KiB
22 Elfogadva 689ms 358388 KiB
subtask5 50/50
23 Elfogadva 537ms 266564 KiB
24 Elfogadva 312ms 160544 KiB
25 Elfogadva 317ms 161560 KiB
26 Elfogadva 126ms 72532 KiB
27 Elfogadva 203ms 113304 KiB
28 Elfogadva 185ms 97500 KiB
29 Elfogadva 703ms 355580 KiB
30 Elfogadva 34ms 24444 KiB
31 Elfogadva 588ms 314312 KiB