奇怪的要求
时间限制:1秒 内存限制:256M
【问题描述】
在一张 \(n\) 个点(编号为 \(1..n\)),\(m\) 条无向条边的图中,小H在每一步可以通过一条边,他打算从 1 出发走 \(L\) 步走到 \(x\)(有些边可以重复走),是否可行,请你编程判断。
【输入格式】
第一行三个正整数 \(n,m\) 和 \(k\),\(k\) 表示判定任务数。
接下来 \(m\) 行,每行两个正整数 \(u\) 和 \(v\),表示编号为 \(u\) 和 \(v\) 之间有一条无向边。保证 \(u≠v\)。
接下来 \(k\) 行,每行两个正整数 \(x\) 和 \(L\),表示判定 1 到 \(x\) 是否存在经过 \(L\) 步的路径。
【输出格式】
共 \(k\) 行,每行一个字符串 'Yes' 或者 'No'。表示判定的结果是可行还是不可行。
【输入输出样例】
Input
5 5 5
1 2
2 3
3 4
4 5
1 5
1 1
1 2
4 5
4 6
5 2
Output
No
Yes
Yes
Yes
No
【输入输出样例说明】
样例图如下:
从图中可以看出:
判定1:从 1 出发走 1 步又回到 1,不可以,输出 No。
判定2:从 1 出发走 2 步又回到 1,可以(1->2->1),输出 Yes。
判定3:从 1 出发走 5 步到 4,可以(1->2->3->4->3->4),输出 Yes。
判定4:从 1 出发走 6 步到 4,可以(1->5->4->5->1->4->5),输出 Yes。
判定5:从 1 出发走 2 步到 5,不可以,输出 No。
【数据说明】
共 20 个测试点。
\(1≤u,v,x≤n\)。
测试点 1~4,\(1≤n,m≤1000\),\(q=3\),\(L=1\)。
测试点 5~8,\(1≤n,m≤1000\),\(q=3\),\(1≤L≤10\)。
测试点 9~12,\(1≤n,m,L≤1000\),\(1≤q≤100\)。
测试点 13~16,\(1≤n,m,L≤1000\),\(1≤q≤10^5\)。
测试点 17~20,\(1≤n,m,q≤10^5\),\(1≤L≤10^9\)。
【来源】
Mr.he