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;
    }
    
  • 相关阅读:
    PostMan使用教程(1)
    测试工作量的评估方法
    Jmeter之Bean shell使用(二)
    centos7 编译安装redis
    Centos7 安装mariadb
    Centos7 安装使用virtualenvwrapper
    Centos7安装python3.6
    linux基础命令2
    linux基础命令
    linux目录结构
  • 原文地址:https://www.cnblogs.com/tianming1/p/13603703.html
Copyright © 2011-2022 走看看