zoukankan      html  css  js  c++  java
  • CodeForces

    题意:
    给一张无向图,没说连通性,要你选出一个大小为n的匹配,或者大小为n的独立集。换句话说,要你选出n条互相没有公共点的边,要是没有就选出n个互相没有直接相邻的点。直接相邻:被一条给定边连接。

    思路:

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 3e5+5;
    vector<int> mat,ind;
    bool vis[maxn];
    int v,u;
    
    int main()
    {
    	int t;
    	scanf("%d" ,&t);
    	while(t--)
    	{
    		int n,m;
    		scanf("%d%d",&n,&m);
    		for(int i=0;i<=3*n;i++)
    		{
    			vis[i]=0;
    		}
    		mat.clear();
    		ind.clear();
    		for(int i=1;i<=m;i++)
    		{
    			scanf("%d%d",&v,&u);
    			if(!vis[v]&&!vis[u]&&mat.size()<n)
    			{
    				vis[v]=1,vis[u]=1;
    				mat.push_back(i);
    			}
    		}
    		for(int i=1;i<=3*n;i++)
    		{
    			if(!vis[i])
    			{
    				ind.push_back(i);
    				if(ind.size()==n) break;
    			}
    		}
    		if(mat.size()>=n)
    		{
    			printf("Matching
    ");
    
    			for(int i=0;i<mat.size();i++)
    			{
    			
    				printf("%d ",mat[i]);
    			}
    			printf("
    ");
    			continue;
    		}
    		if(ind.size()>=n)
    		{
    			printf("IndSet
    ");
    
    			for(int i=0;i<ind.size();i++)
    			{
    			printf("%d ",ind[i]);
    			}
    			printf("
    ");
    			continue;
    		}
    		cout<<"Impossible"<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    将node.js代码放到阿里云上,并启动提供外部接口供其访问
    Linux内核深度解析之内核互斥技术——读写信号量
    man 1 2 3 4...
    Android Sepolicy 相关工具
    selinux misc
    ext4 mount options
    tune2fs cmd(ext fs)
    /dev/tty node
    kernel misc
    fork & vfork
  • 原文地址:https://www.cnblogs.com/tianming1/p/13603703.html
Copyright © 2011-2022 走看看