3 条题解

  • 2
    @ 2022-8-7 12:01:59
    #include<bits/stdc++.h>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    const int N =2e6 + 10;
    int to[N] , ne[N] , head[N] , id ,a[N];
    void add(int u ,int v)
    {
    	to[++id] = v;
    	ne[id] = head[u];
    	head[u] = id;
    }
    int n , q;
    int main(){
    	scanf("%d%d" , &n,&q);
    	for(int i = 1,u,v;i < n;i++){
    		scanf("%d%d" , &u,&v);
    		add(u , v);
    		add(v , u);
    	}
    	while(q--){
    		int m ;
    		scanf("%d" , &m);
    		int sum = 0;
    		for(int i = head[m] ; i ; i = ne[i])
    			a[sum++] = to[i];
    		printf("%d " , sum);
    		sort(a,a+sum);
    		for(int i = 0 ;i < sum ;i++)
    			printf("%d " , a[i]);
    		puts("");
    	}
    }

    信息

    ID
    809
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    242
    已通过
    67
    上传者