java B [蓝桥杯2018决赛]版本分支//超时emm
#include<iostream>
# include <cstdio>
# include <vector>
# define ll long long
using namespace std;
int a[100001];
int vis[100001];
int find(int fa,int son)
{
while(a[son]!=fa&&a[son]!=1&&fa!=1)
son=a[son];
if(a[son]==fa||fa==1)
return 1;
return 0;
}
int main(){
int n,q;
scanf("%d%d",&n,&q);
int i;
for(i=1;i<=n-1;++i)
{
int u,v;
scanf("%d%d",&u,&v);
a[v]=u;
}
for(i=1;i<=q;++i)
{
int x,y;
scanf("%d%d",&x,&y);
if(find(x,y))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}