1 条题解

  • 0
    @ 2026-9-4 18:20:03
    #include<bits/stdc++.h>
    //#define int long long
    using namespace std;
    const int N = 2e6 + 10;
    const int inf = 1e18;
    typedef pair<int , int> pii;
    int vis[N];
    vector<int> vec[N];
    bool dfs(int u , int op){
    	vis[u] = op;
    	for(auto v : vec[u]){
    		if(vis[v] == 0){
    			if(dfs(v , -op)){
    				return true;
    			}
    		}else if(vis[v] == op){
    			return true;
    		}
    	}
    	return false;
    }
    signed main(){
    	ios::sync_with_stdio(false);
    	cin.tie(nullptr);
    	int T;
    	cin >> T;
    	while(T --){
    		memset(vis , 0 , sizeof(vis));
    		int n , m;
    		cin >> n >> m;
    		for(int i = 1 ; i <= n ; i ++){
    			vec[i].clear();
    		}
    		for(int i = 1 ; i <= m ; i ++){
    			int u , v;
    			cin >> u >> v;
    			vec[u].push_back(v);
    			vec[v].push_back(u);
    		}
    		int flag = false;
    		for(int i = 1 ; i <= n ; i ++){
    			if(vis[i] == 0){
    				if(dfs(i ,1)){
    					flag = true;
    					break;
    				}
    			}
    		}
    		if(flag){
    			cout << "No";
    		}else{
    			cout << "Yes";
    		}
    		cout << endl;
    	}
    	return 0;
    }
    

    信息

    ID
    4458
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    18
    已通过
    4
    上传者