# 題目

AP325 Q-7-8. 小寶的著色問題

# 解題思路

O(n+m)

# 程式碼

#include<bits/stdc++.h>
using namespace std;
#define N 10005
int t,n,m,color[N];
vector<int> adj[N];
bool c;
void dfs(int p){
    for(auto e:adj[p]){
        if(color[e]==0){
            if(color[p]==1) color[e]=2;
            else color[e]=1;
            dfs(e);
        }else if(color[e]==color[p]){
            c=1;
            return;
        }
    }
}
signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>t;
    while(t--){
        cin>>n>>m;
        c=0;
        memset(color,0,sizeof(color));
        for(int i=0,u,v;i<m;i++){
            cin>>u>>v;
            adj[u].push_back(v);
            adj[v].push_back(u);
        }
        int i;
        for(i=0;i<n;i++){
            if(color[i]==0)
                dfs(i);
            if(c) break;
        }
        if(c) cout<<"no\n";
        else cout<<"yes\n";
        for(i=0;i<n;i++) adj[i].clear();
    }
}