hiho week 237 register

Ended

Participants:104

Verdict:Accepted
Score:100 / 100
Submitted:2019-01-14 00:11:43

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 <iostream>
#include <vector>
#include <string>
#include <map>
#include <algorithm>
#include <queue>
#include <sstream> 
#include <memory.h>
using namespace std;
vector<int> graph[100001];
void getSum(const vector<int>& weight, vector<int> &sum, int i)
{
    //cout << "hi!" << i << endl;
    sum[i] = weight[i];
    for (int j = 0; j < graph[i].size(); j++)
        getSum(weight, sum, graph[i][j]), sum[i] += sum[graph[i][j]];
}
int getallcnt(const vector<int>& sum, vector<int> &cnt, int i, vector<int> &cnt2, int S)
{
    //cout << "hi!" << i << endl;
    int total = 0;
    for (int j = 0; j < graph[i].size(); j++)
    {
        if (sum[i] == S) {
            cnt2[graph[i][j]] = cnt2[i] + 1;
        }
        else {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX