/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 4ms 6.32 MiB
#2 Accepted 3ms 7.281 MiB
#3 Accepted 36ms 9.367 MiB
#4 Accepted 3ms 5.527 MiB
#5 Accepted 4ms 6.27 MiB

Code

#include<bits/stdc++.h>
using namespace std;
const long long M=2e5+10,MOD=1000000007;
typedef long long ll;
vector<int>edge[M];
int distant_count[M];
int vis[M];
int level[M];
void dfs(int x){
    vis[x]=1;
    for(int u:edge[x]){
         if(!vis[u]){
            level[u]=level[x]+1;
            distant_count[level[u]]++;
            dfs(u);
         }
    }
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
    cin>>t;
    while(t--){
    int n,q;
    cin>>n>>q;
    for(int i=1;i<n;i++){
        int u,v;
        cin>>u>>v;
        edge[u].push_back(v);
        edge[v].push_back(u);
    }
    dfs(1);
    distant_count[0]=1;
    for(int i=1;i<=n;i++)distant_count[i]+=distant_count[i-1];
    while(q--){
        int x;
        cin>>x;
        cout<<distant_count[x]<<"\n";
    }
    for(int i=1;i<=n;i++)distant_count[i]=level[i]=vis[i]=0,edge[i].clear();

    }




    
   
   return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1053 Water on Tree
Language
C++20 (G++ 13.2.0)
Submit At
2024-05-02 13:05:16
Judged At
2024-05-02 13:05:16
Judged By
Score
100
Total Time
36ms
Peak Memory
9.367 MiB