#include<bits/stdc++.h>
#define int long long
#define vi vector
#define pb push_back
#define inf INT_MAX
#define minf INT_MIN
#define mod 1000000007
#define fio ios_base::sync_with_stdio(NULL) ; cin.tie(NULL) ;
using namespace std ;
vectorarr[100001] ;
int vis[100001] ;
bool bfs(int a,int s,int par)
{
vis[a]=1 ;
queuecont ;
if(s<0)
{
return false ;
}
cont.push(a) ;
int has[100001]={0} ;
has[a]=1;
while(!cont.empty()&&s)
{
int temp=cont.front() ;
cont.pop();
par=temp ;
for(auto i:arr[temp])
{
if(!vis[i])
{
vis[i]=1 ;
cont.push(i) ;
has[i]=1 ;
}
else if(!has[i])
{
return false;
}
}
s-- ;
}
return true ;
}
signed main()
{
int t;
cin>>t;
while(t–)
{ memset(vis,0,sizeof(vis)) ;
int n,r,m ;
cin>>n>>r>>m ;
for(int i=1;i<=n;i++)
{
arr[i].clear();
}
for(int i=0;i<r;i++)
{
int a,b ;
cin>>a>>b ;
arr[a].pb(b) ;
arr[b].pb(a) ;
}
int flag=0 ;
for(int i=0;i<m;i++)
{
int a,b ;
cin>>a>>b ;
if(!vis[a])
{ bool k=bfs(a,b,-1) ;
if(!k)
{
flag=1 ;
}
}
else
{
flag=1 ;
}
}
if(flag)
{
cout<<"No\n" ;
}
else
cout<<"Yes\n" ;
}
return 0 ;
}
created
last reply
- 3
replies
- 507
views
- 2
users
- 1
link