Submission details
Task:Nice triplets
Sender:HäviöLife
Submission time:2016-09-06 19:27:46 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#10.06 sdetails
#20.06 sdetails
#30.18 sdetails
#40.23 sdetails
#50.07 sdetails
#60.08 sdetails
#70.12 sdetails
#80.09 sdetails
#90.27 sdetails
#100.05 sdetails
#110.34 sdetails
#120.34 sdetails
#130.35 sdetails
#140.34 sdetails
#150.33 sdetails
#160.18 sdetails
#170.30 sdetails
#180.19 sdetails
#190.20 sdetails
#200.20 sdetails
#210.19 sdetails
#220.34 sdetails
#230.35 sdetails
#240.40 sdetails
#250.29 sdetails
#260.23 sdetails
#270.30 sdetails
#280.20 sdetails
#290.30 sdetails
#300.28 sdetails
#310.23 sdetails
#320.18 sdetails
#330.20 sdetails
#340.29 sdetails
#350.20 sdetails
#360.33 sdetails
#370.20 sdetails
#380.19 sdetails
#390.29 sdetails
#400.37 sdetails

Code

#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <unordered_set>
#include <stdio.h>
#include <string.h>
#include <unordered_map>
#include <fstream>
#include <set>
#include <map>

#define MOD 1000000007
#define ll long long
#define N 20000
#define float double

using namespace std;

vector<int> vl[4001];

void dfs(int node, ll* maar, int* k, int dist){
    k[node]=1;
    maar[dist]++;
    for(int seur:vl[node])
        if(!k[seur])
            dfs(seur, maar, k, dist+1);
}

ll vast[4000];

int main(){
    int n;
    cin>>n;
    for(int i=0; i<n-1; i++){
        int a,b;
        cin>>a>>b;
        vl[a].push_back(b);
        vl[b].push_back(a);
    }

    for(int i=1; i<=n; i++){
        ll maar[4000];
        int k[4000];
        for(int i=0; i<4000; i++){
            k[i]=0;
            maar[i]=0;
        }
        dfs(i, maar, k, 0);

        for(int e=1; e<4000; e++)
            if(maar[e]>=3)
                vast[e] += ((maar[e])*(maar[e]-1)*(maar[e]-2))/6;
    }

    for(int i=1; i<=n-1; i++)
        cout<<vast[i]<<" ";
    cout<<endl;
    return 0;
}

Test details

Test 1

Verdict:

input
694
141 214
214 505
141 339
339 180
...

correct output
0 1301 0 12977 0 76694 0 21315...

user output
1301 33424 340346 2026842 7552...

Test 2

Verdict:

input
928
534 15
15 364
364 66
364 726
...

correct output
0 1852 0 23152 0 157299 0 4823...

user output
1852 54233 659269 4483984 1913...

Test 3

Verdict:

input
2925
2093 1182
2093 2577
1182 2213
2213 1630
...

correct output
0 5201 0 61916 0 512021 0 2340...

user output
5201 142033 1886912 15728925 8...

Test 4

Verdict:

input
3198
660 2400
660 2620
2620 3008
2400 179
...

correct output
0 6434 0 102245 0 1122654 0 46...

user output
6434 216398 3686669 34762987 2...

Test 5

Verdict:

input
869
142 549
142 335
142 684
549 409
...

correct output
0 1604 0 11624 0 56768 0 17500...

user output
1604 31885 270792 1531716 6038...

Test 6

Verdict:

input
1514
904 557
557 957
957 754
904 250
...

correct output
0 3202 0 33876 0 243297 0 9322...

user output
3202 83328 995229 7086998 3345...

Test 7

Verdict:

input
2133
1166 813
1166 751
813 416
1166 1743
...

correct output
0 4720 0 75657 0 705952 0 2953...

user output
4720 164596 2589793 22584772 1...

Test 8

Verdict:

input
1833
1368 837
837 1296
1296 481
1296 548
...

correct output
0 3365 0 44752 0 313240 0 1147...

user output
3365 101698 1319424 9711908 48...

Test 9

Verdict:

input
3446
3060 2907
2907 1089
1089 3155
3060 444
...

correct output
0 7068 0 80352 0 602995 0 3052...

user output
7068 194931 2434139 20540185 1...

Test 10

Verdict:

input
55
28 23
23 43
43 41
28 48
...

correct output
0 70 0 262 0 97 0 35 0 12 0 0 ...

user output
70 871 2932 5461 6001 4184 254...

Test 11

Verdict:

input
4000
3717 1739
3717 2875
3717 598
2875 3860
...

correct output
0 8708 0 147350 0 1310042 0 60...

user output
8698 313662 4896016 44055115 2...

Test 12

Verdict:

input
4000
2607 3595
2607 3401
3401 1971
3401 3641
...

correct output
0 7518 0 95122 0 775490 0 4259...

user output
7518 216874 2913354 24762286 1...

Test 13

Verdict:

input
4000
337 3391
337 783
337 721
337 2376
...

correct output
0 7128 0 86950 0 781051 0 4647...

user output
7127 197333 2810379 25782716 1...

Test 14

Verdict:

input
4000
740 1571
740 1104
1104 2145
2145 3441
...

correct output
0 8699 0 169586 0 2358841 0 13...

user output
8689 345608 7214508 82869669 5...

Test 15

Verdict:

input
4000
878 154
878 2194
2194 2037
2194 893
...

correct output
0 7747 0 101093 0 954212 0 646...

user output
7747 229661 3491888 34613213 2...

Test 16

Verdict:

input
4000
1739 685
1739 424
1739 743
1739 2656
...

correct output
0 10650673999 0 0 0 0 0 0 0 0 ...

user output
10642683996 42528165248016 0 0...

Test 17

Verdict:

input
4000
2508 3693
2508 2165
2508 1689
3693 1935
...

correct output
0 1337338368 0 184329476 0 198...

user output
1337338367 2675844260930 17513...

Test 18

Verdict:

input
4000
813 3566
813 2763
813 1541
813 1762
...

correct output
0 426275345 0 2043667310 0 0 0...

user output
425955745 345043927738 4617432...

Test 19

Verdict:

input
4000
725 282
725 365
725 3660
282 3202
...

correct output
0 666208836 0 972188838 0 0 0 ...

user output
665727165 668499744321 5008435...

Test 20

Verdict:

input
4000
1579 3029
1579 891
3029 2534
891 257
...

correct output
0 1184481790 0 0 0 0 0 0 0 0 0...

user output
1183583320 1578712810220 52483...

Test 21

Verdict:

input
4000
1996 520
1996 1978
1996 2196
1978 2182
...

correct output
0 1184359951 0 2360565396 0 0 ...

user output
1183485448 1587139251396 94407...

Test 22

Verdict:

input
4000
1518 2792
1518 1956
1518 1572
2792 3898
...

correct output
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...

user output
1 4 7 10 13 16 19 22 25 28 31 ...

Test 23

Verdict:

input
4000
2266 1993
2266 2140
2266 2230
2266 866
...

correct output
0 4 0 4 0 4 0 4 0 4 0 4 0 4 0 ...

user output
4 20 36 52 68 84 100 116 132 1...

Test 24

Verdict:

input
4000
3923 1832
3923 1341
3923 856
3923 1130
...

correct output
0 10 0 10 0 10 0 10 0 10 0 10 ...

user output
10 60 110 160 210 260 310 360 ...

Test 25

Verdict:

input
4000
103 2255
103 24
103 2124
103 535
...

correct output
0 1556 0 39 0 1 0 0 0 0 0 0 0 ...

user output
1556 25107 13360 4846 4908 220...

Test 26

Verdict:

input
4000
1271 1635
1271 3388
1271 3452
1271 3371
...

correct output
0 2780 0 32 0 0 0 0 0 0 0 0 0 ...

user output
2780 60815 15635 5712 6038 632...

Test 27

Verdict:

input
4000
257 1671
257 2439
257 756
257 1393
...

correct output
0 1406 0 56 0 4 0 0 0 0 0 0 0 ...

user output
1406 21145 14871 7099 3179 238...

Test 28

Verdict:

input
4000
3694 1140
3694 1224
3694 1601
3694 3050
...

correct output
0 1570 0 83 0 15 0 2 0 0 0 0 0...

user output
1570 24971 13455 4175 5437 235...

Test 29

Verdict:

input
4000
1449 2360
1449 611
1449 2332
1449 830
...

correct output
0 2504 0 43 0 1 0 0 0 0 0 0 0 ...

user output
2503 51916 16023 7024 2847 511...

Test 30

Verdict:

input
4000
2519 595
2519 1119
2519 500
2519 2127
...

correct output
0 2250 0 54 0 0 0 0 0 0 0 0 0 ...

user output
2250 43551 16711 4592 4398 497...

Test 31

Verdict:

input
4000
2787 2780
2787 3471
2787 206
2787 2050
...

correct output
0 1565 0 90 0 1 0 0 0 0 0 0 0 ...

user output
1565 24955 14981 3592 2010 221...

Test 32

Verdict:

input
4000
1977 2196
1977 1810
1977 128
1977 436
...

correct output
0 1536 0 67 0 6 0 0 0 0 0 0 0 ...

user output
1536 25113 15494 4927 3624 322...

Test 33

Verdict:

input
4000
3377 1793
3377 2977
3377 711
3377 2184
...

correct output
0 2524 0 36 0 3 0 0 0 0 0 0 0 ...

user output
2524 51943 13713 6988 2886 516...

Test 34

Verdict:

input
4000
3617 2852
3617 3552
3617 2064
3617 88
...

correct output
0 2492 0 37 0 0 0 0 0 0 0 0 0 ...

user output
2491 51600 16545 5191 7457 486...

Test 35

Verdict:

input
4000
2713 1183
2713 565
2713 1432
2713 2859
...

correct output
0 1370 0 99 0 4 0 38 0 0 0 0 0...

user output
1369 20184 13282 2844 5225 695...

Test 36

Verdict:

input
4000
3350 3568
3350 968
3350 3110
3350 149
...

correct output
0 2026 0 49 0 45 0 12 0 0 0 0 ...

user output
1795 32103 11481 6893 6471 705...

Test 37

Verdict:

input
4000
1794 1797
1794 355
1794 728
1794 2107
...

correct output
0 2240 0 53 0 1 0 0 0 0 0 0 0 ...

user output
2240 43822 16150 6876 2963 260...

Test 38

Verdict:

input
4000
1571 2107
1571 1258
1571 1808
1571 1754
...

correct output
0 1765 0 51 0 4 0 0 0 0 0 0 0 ...

user output
1765 30647 13363 6876 2206 370...

Test 39

Verdict:

input
4000
2132 1514
2132 3357
2132 355
2132 3958
...

correct output
0 1991 0 34 0 12 0 0 0 0 0 0 0...

user output
1991 37119 13519 9569 6524 445...

Test 40

Verdict:

input
4000
1621 743
1621 1182
1621 1598
1621 2693
...

correct output
0 2500 0 22 0 2 0 0 0 0 0 0 0 ...

user output
2499 51615 11114 5158 5709 281...