QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#187399#5455. TreeScriptCokeWA 13ms9792kbC++141.0kb2023-09-24 16:56:042023-09-24 16:56:04

Judging History

你现在查看的是最新测评结果

  • [2023-09-24 16:56:04]
  • 评测
  • 测评结果:WA
  • 用时:13ms
  • 内存:9792kb
  • [2023-09-24 16:56:04]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define debug(x) cerr<<#x<<' '<<x<<' ';
typedef pair<int, int>PII;
typedef long long LL;
constexpr int N = 200010, mod = 1e9 + 7;
int a[N];
vector<int>v[N];
int cnt[N];
void dfs(int u,int fa)
{
    int f=0,ma=0;
    if(v[u].size()==0)
    {
        cnt[u]=1;
        return ;
    }
    for(auto c:v[u])
    {
        if(c==fa)continue;
        f++;
        dfs(c,u);
        ma=max(ma,cnt[c]);

    }
    if(f>=2)cnt[u]+=1+ma;
    else cnt[u]=ma;
}
signed main()
{
    //freopen(".in","r",stdin);freopen(".out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    int t;
    cin >> t;
    while(t--)
    {
        int n;
        cin >> n;
        for(int i=0;i<=n;i++)v[i].clear(),cnt[i]=0;
        for(int i = 1; i <= n; i++)
        {
            int x ;
            cin>>x;
            v[x].push_back(i);
        }
        dfs(1,0);
        cout<<cnt[1]-(v[1].size()>=2)<<endl;
    }

}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 9792kb

input:

2
3
0 1 2
7
0 1 2 2 1 4 1

output:

1
2

result:

ok 2 number(s): "1 2"

Test #2:

score: -100
Wrong Answer
time: 13ms
memory: 9788kb

input:

1000
197
0 1 1 2 1 4 1 5 8 3 5 1 4 7 12 14 4 7 10 9 12 11 16 10 21 19 22 17 25 13 28 9 5 15 26 26 33 25 15 1 35 6 32 17 37 8 19 43 19 27 29 9 30 6 31 27 35 35 37 13 28 38 57 31 38 8 22 14 33 9 18 62 52 37 10 19 22 60 54 12 38 59 64 65 80 82 28 60 85 78 27 25 71 14 52 6 59 14 87 32 33 41 59 41 88 38 ...

output:

8
8
3
7
5
6
9
8
7
9
8
9
12
8
4
5
8
12
5
10
11
4
8
8
8
6
10
6
7
9
1
11
8
5
9
6
5
7
5
7
8
6
9
4
6
9
9
10
7
7
6
3
9
8
10
8
5
8
6
9
11
9
3
8
8
5
6
7
10
7
10
8
10
6
9
11
2
4
8
1
1
8
12
7
6
5
8
11
9
10
10
10
6
7
4
5
9
5
9
8
12
9
11
9
9
10
5
5
10
5
8
7
5
5
9
7
4
4
6
11
4
8
3
9
5
7
7
4
10
7
15
5
7
6
8
3
10
...

result:

wrong answer 1st numbers differ - expected: '4', found: '8'