説明
この問題を解決するためのグラフ理論、我々は最初に記憶されたマップの種類について考える必要があります。しかし、小さな新はなく、どのようにメモリ・マップは、問題の解決を助けることができる方法を理解することができませんでした。あなたは彼がこの問題の解決に役立つことはできますか?
入力
ファイルの末尾への入力の複数のセット。
最初の2つの数字の各グループのラインN、Mを表すn個の点、エッジに向けm個の物品。次に、2つの数のuのm行、Vへのu vの代表は、有向エッジが存在するあります。M + 2 2行目の数qは質問の数を表し、その後Q線それぞれは、クエリ入力二つの原子A、Bを有しています。
注:ポイント数で0〜N-1,2 <= N <= 500000、0 <= M <= 500000,0 <= Q <= 500000、= B、 及びそのいかなる自己ループのエッジ重みを確保しないように入力!
出力
各照会、出力ラインのため。Bに直接出力はい、そうでない場合、出力番号を通信することができる場合
サンプル
入力
2 1
0 1
2
0 1
1 0
出力
はい
ません
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
struct node
{
int u,v,l;
}tu[500000];
int main()
{
int n,m,a,b,p,x,y;
while(~scanf("%d %d",&n,&m))
{
for(int i=0;i<m;i++)
{
scanf("%d %d",&tu[i].u,&tu[i].v);
tu[i].l = 1;
}
scanf("%d",&p);
while(p--)
{
scanf("%d %d",&x,&y);
int flag = 0;
for(int i=0;i<m;i++)
{
if(tu[i].u == x&&tu[i].v==y&&tu[i].l == 1)
{
printf("Yes\n");
flag = 1;
}
}
if(flag == 0)
printf("No\n");
}
}
return 0;
}