比赛 “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