hiho Week 12 register

Ended

Participants:337

Verdict:Accepted
Score:100 / 100
Submitted:2014-09-21 22:37:15

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int dp[1000][1000], rec[1000];
vector<int> v[1000], order, vv[1000];
void dfs(int x){
    rec[x] = 1;
    for(int i = 0; i < v[x].size(); i++)
        if(!rec[v[x][i]])
            vv[x].push_back(v[x][i]), dfs(v[x][i]);
    //printf("%d ", x);
    order.push_back(x);
}
int main(){
    int n, m;
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
        scanf("%d", &dp[i][1]);
    for(int i = 0; i < n-1; i++){
        int a, b;
        scanf("%d%d", &a, &b);
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1);
    for(int h = 0; h < n; h++){
        int a = order[h];
            for(int k = 0; k < vv[a].size(); k++){
                int b = vv[a][k];
                for(int i = m; i > 1; i--)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX