比赛 |
“Asm.Def战记之夏威夷”杯 |
评测结果 |
WWWWWWWWWW |
题目名称 |
Asm.Def的病毒 |
最终得分 |
0 |
用户昵称 |
KZNS |
运行时间 |
0.101 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-11-06 09:41:45 |
显示代码纯文本
// KZ's
#include <fstream>
#include <vector>
#include <queue>
#include <memory.h>
using namespace std;
ifstream fin ("asm_virus.in");
ofstream fout ("asm_virus.out");
///////
vector <int> mp[1003];
int n,q;
queue <int> ls;
bool ckd[1003];
///////
void rin() {
fin>>n>>q;
int a,b;
for (int i=1;i<n;i++) {
fin>>a>>b;
mp[a].push_back(b);
mp[b].push_back(a);
}
}
bool ck(int a,int b,int c,int d,bool &fff) {
if (a==b) {
fff=true;
if (a==c||a==d)
return true;
return false;
}
ckd[a]=true;
for (int i=0;i<mp[a].size();i++) {
if (!ckd[mp[a][i]])
if (ck(mp[a][i],b,c,d,fff))
return true;
else
if (fff)
if (a==c||a==d)
return true;
else
return false;
}
return false;
}
void work() {
int a,b,c,d;
for (int i=0;i<q;i++) {
fin>>a>>b>>c>>d;
memset(ckd,0,sizeof(ckd));
bool fff=false;
if (ck(a,b,c,d,fff))
fout<<"YES"<<endl;
else {
fff=false;
memset(ckd,0,sizeof(ckd));
if (ck(c,d,a,b,fff))
fout<<"YES"<<endl;
else
fout<<"NO"<<endl;
}
}
}
/////////
int main() {
rin();
work();
return 0;
}
// UBWH