比赛 20241129 评测结果 WWWWWWWWWW
题目名称 路径覆盖 最终得分 0
用户昵称 黄天乐 运行时间 0.315 s
代码语言 C++ 内存使用 3.62 MiB
提交时间 2024-11-29 11:33:49
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+5;
int n,q;
int du[MAXN],d[MAXN];
int lian[MAXN]; 
int main(){
    freopen("lucover.in","r",stdin);
    freopen("lucover.out","w",stdout);
    cin>>n>>q;
    for(int i=1;i<=n-1;i++){
        int u,v;
        cin>>u>>v;
        du[u]++;
        du[v]++;
        lian[u]=v;
        lian[v]=u;
    }
    int cnt=0,a;
    for(int i=1;i<=n;i++){
        if(du[i]==1)d[++cnt]=i;
        else a=i;
    }
    for(int i=1;i<=q;i++){
        int x;
        cin>>x;
        if(cnt==n-1){
            if(x==a)cout<<1<<endl;
            else cout<<2<<endl;
        }else if(cnt==2){
            if(du[x]==1){
                cout<<2<<endl;
            }else {
                bool flag=true;
                for(int i=1;i<=cnt;i++){
                    if(lian[d[i]]==x){
                        cout<<2<<endl;
                        flag=false;
                        break;
                    }
                }
                if(!flag)continue;
                cout<<3<<endl;
                break;
            }
        }
    }
    return 0;
}