想优化一下,尝试了遍历set,但是实际上最终都是要遍历l和r那两个数组,搞半天原来y总写的已经是最简的了
#include<iostream>
#include<unordered_set>
using namespace std;
const int N=10005;
int n,m;
int l[N],r[N];
unordered_set<int> s;
void fun()
{
for(int i=0;i<n;i++)
{
if(s.count(l[i])&&s.count(r[i]))
{
cout<<"No"<<endl;
return ;
}
}
cout<<"Yes"<<endl;
}
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
int a,b;
cin>>a>>b;
l[i]=a;
r[i]=b;
}
while(m--)
{
int a;
cin>>a;
s.clear();
while(a--)
{
int temp;
cin>>temp;
s.insert(temp);
}
fun();
}
return 0;
}