#include <bits/stdc++.h>
#define pb push_back
#define int long long
#define endl '\n'
using namespace std;
const int N=2e5+5,inf=2e8,MOD=1e9+9;
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t; cin>>t;
while(t--){
int n; cin>>n;
for(int i=0;i<n-1;i++){
int x,y; cin>>x>>y;
}
int m; cin>>m;
n=m;
pair<int,int> p[n];
map<int,bool> mp;
for(int i=0;i<n;i++){
cin>>p[i].first>>p[i].second;
mp[min(p[i].first,p[i].second)]=(p[i].first<p[i].second);
if(p[i].first>p[i].second)swap(p[i].first,p[i].second);
p[i].second*=-1;
}
sort(p,p+n);
for(int i=0;i<n;i++)p[i].second*=-1;
int mx=p[0].second;
bool flag=1;
for(int i=1;i<n;i++){
if(p[i].first>p[i-1].second){
mx=p[i].second;
continue;
}
if(p[i].second<=mx)flag=0;
if(mp[p[i].first]!=mp[p[i-1].first])flag=0;
mx=max(mx,p[i].second);
}
cout<<(flag?"Yes":"No")<<endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |