3 条题解

  • 0
    @ 2021-10-10 16:12:17
    #include<bits/stdc++.h>
    
    using namespace std;
    vector<int>v[200000];
    struct node{
    	int l,r;
    }a[200000];
    bool cmp(node x,node y){
    	return x.l==y.l?x.r<y.r:x.l<y.l;
    }
    int main(){
    	int n,q;cin>>n>>q;
    	n--;
        for(int i=1;i<=n;i++){
        	cin>>a[i].l>>a[i].r;
    	}
    	sort(a+1,a+n+1,cmp);
    	for(int i=1;i<=n;i++){
    		v[a[i].l].push_back(a[i].r);
    		v[a[i].r].push_back(a[i].l);
    	}
    	int x;
    	for(int i=1;i<=q;i++){
    		cin>>x;
    		cout<<v[x].size()<<' ';
    		for(int i=0;i<v[x].size();i++){
    			cout<<v[x][i]<<' ';
    		}
    		cout<<endl;
    	}
    	
    	return 0;
    } 
    

    信息

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