2 条题解

  • 0
    @ 2025-10-8 16:50:36
    #include<bits/stdc++.h>
    using namespace std;
    int n,m,vn,vvn;
    bool Map[110][110],v[110],vv[110];
    
    void dfs(int x)
    {
    	if(x>n)
    	{
    		if(vn>vvn)memcpy(vv,v,sizeof(v)),vvn=vn;
    		return ;
    	}
    	
    	bool flag=1;for(int i=1;i<=n;i++)if(Map[i][x]&&v[i]){flag=0;break;}
    	
    	for(int i=1; i>=0; i--)
    	{
    		if(flag==0 && i==1)continue;
    		v[x]=i;
    		vn+=v[x];
    		
    		if(vn+n-x>vvn)dfs(x+1);
    		
    		vn-=v[x];
    		v[x]=0;
    	}
    }
    int main()
    {
    	int T;scanf("%d",&T);
    	while(T--)
    	{
    		scanf("%d%d",&n,&m);
    		memset(Map,0,sizeof(Map));
    		for(int i=1;i<=m;i++)
    		{
    			int x,y;scanf("%d%d",&x,&y);Map[x][y]=Map[y][x]=1;
    		}
    		
    		memset(v,0,sizeof(v));
    		vvn=vn=0;dfs(1);
    		
    		printf("%d\n",vvn);
    		for(int i=1;i<=n;i++) if(vv[i]) printf("%d ",i);
    		printf("\n");
    	}
    	return 0;
    }
    
    • 0
      @ 2025-10-8 16:50:24
      #include<bits/stdc++.h>
      using namespace std;
      int n,m,vn,vvn;
      bool Map[110][110],v[110],vv[110];
      
      void dfs(int x)
      {
      	if(x>n)
      	{
      		if(vn>vvn)memcpy(vv,v,sizeof(v)),vvn=vn;
      		return ;
      	}
      	
      	bool flag=1;for(int i=1;i<=n;i++)if(Map[i][x]&&v[i]){flag=0;break;}
      	
      	for(int i=1;i>=0;i--)
      	{
      		if(flag==0 && i==1)continue;
      		v[x]=i;
      		vn+=v[x];
      		
      		if(vn+n-x>vvn)dfs(x+1);
      		
      		vn-=v[x];
      		v[x]=0;
      	}
      }
      int main()
      {
      	int T;scanf("%d",&T);
      	while(T--)
      	{
      		scanf("%d%d",&n,&m);
      		memset(Map,0,sizeof(Map));
      		for(int i=1;i<=m;i++)
      		{
      			int x,y;scanf("%d%d",&x,&y);Map[x][y]=Map[y][x]=1;
      		}
      		
      		memset(v,0,sizeof(v));
      		vvn=vn=0;dfs(1);
      		
      		printf("%d\n",vvn);
      		for(int i=1;i<=n;i++) if(vv[i]) printf("%d ",i);
      		printf("\n");
      	}
      	return 0;
      }
      • 1

      信息

      ID
      455
      时间
      1000ms
      内存
      128MiB
      难度
      4
      标签
      递交数
      26
      已通过
      17
      上传者