Live2D

CSUOJ 1868 潜在好友

Description

小X在搬砖写一个论坛,这个时候老板突然想到一个功能,让小X今天赶快实现。大概就是如果某个人是你好友的好友那么他的头像上面会有特殊的标志。小X想不到较好的办法来解决如何验证两个人是不是好友的好友,现在向你求助。

Input

第一行是一个整数T(1<=T<=100),代表数据组数。每组数据第一行是两个整数n,m(1<=n,m<=10000),代表这两个人的好友的数量。之后n行是第一个人的好友id再之后m行是第二个人的好友id(1<=id<=1e9)

Output

如果第二个人是第一个人的好友的好友输出Yes否则No

Sample Input

2
1 1
1
2
2 3
1
2
2
3
4

Sample Output

No
Yes

Hint

简单题,使用set,把第一个人的好友ID存到set里,判断set中是否存在第二人的好友就行了。
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
#include<set>
using namespace std; 
set<long long>s;
int main()
{
	int T,n,m;
	long long cnt;
	while(~scanf("%d",&T))
	{ 
		while(T--)
		{
			s.clear(); 
			int flag=0;
			scanf("%d%d",&n,&m);
			for(int i=0;i<n;i++)
			{
				scanf("%lld",&cnt);
				s.insert(cnt);
			}
			for(int i=0;i<m;i++)
			{
				scanf("%lld",&cnt);
				//printf("%d ",s.count(cnt));
				if(s.count(cnt))
					flag=1;
			}
			if(flag)
				printf("Yes\n");
			else
				printf("No\n");
		}
	}
	return 0;
}
/**********************************************************************
	Problem: 1868
	User: leo6033
	Language: C++
	Result: AC
	Time:688 ms
	Memory:1708 kb
**********************************************************************/

posted @ 2018-05-09 21:16  ITryagain  阅读(111)  评论(0编辑  收藏  举报