博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1941 Justice League 无向完全图
阅读量:4073 次
发布时间:2019-05-25

本文共 853 字,大约阅读时间需要 2 分钟。

就是有一些人和一些关系,从中选出一些人,他们与联盟中其他人都有关系,即构成完全图,剩下的其他人不能有一个关系

首先,度为0和1的应该先去掉,同时标记(与去掉的点)相关联的点为不可去掉,度同时-1,否则去掉的集合里就会出现关系;

继续搜索度更高的点,把可去的去掉,标记与其关联的点为不可去

重复上述操作,直到没有点可以去掉,此时判断是否为完全图,即不可去点的个数==min(deg[u]+1),u为所有剩下的不可去点

参考链接:http://www.cnblogs.com/staginner/archive/2012/08/21/2648919.html

代码:

#include
#include
#include
#include
using namespace std;int n,m;const int maxn=50010;int deg[maxn];//存入度数vector
G[maxn];//节点int p[maxn];bool inis[maxn];//标记哦void init(){ int i,j; memset(deg,0,sizeof(deg)); for(i=0; i<=n; i++) { G[i].clear(); } int u,v; while(m--) { cin>>u>>v; G[u].push_back(v); G[v].push_back(u); deg[u]++; deg[v]++; }}bool cmp(int u,int v){ return deg[u]
>n>>m) { if(n==0&&m==0) break; if(m==0) { cout<<"Y"<

你可能感兴趣的文章
重复addEventListener("事件名",的问题
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>
《多线程服务器的适用场合》例释与答疑
查看>>
Netty框架
查看>>
一个另类的swapChildren的实现
查看>>
用Eclipse平台进行c/c++开发
查看>>
启用解块
查看>>
Flash Player10 3D测试
查看>>
浅谈网络游戏项目开发难度
查看>>
flash fps游戏 fps多少为佳
查看>>
心得:对AMF3的误解
查看>>
事件对象的target和currentTarget属性区别
查看>>
事件冒泡阻止event.stopPropagation()
查看>>
Flex4 beta 的 Spark 布局
查看>>
Spark 架构和组件集的简要概述
查看>>
关于flex4中文(zh_CN)本地化应用编译不通过的解决方法
查看>>
摩斯密码表
查看>>