博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-1530 Maximum Clique 最大团裸题
阅读量:5740 次
发布时间:2019-06-18

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

题意:给定一个邻接矩阵,求最大团。

解法:直接AC。

代码如下:

#include 
#include
#include
#include
#include
using namespace std;int N, mp[55][55];int ret, st[55], cnt[55];void dfs(int x, int num) { int flag; for (int i = x+1; i < N; ++i) { if (!mp[x][i]) continue; if (cnt[i]+num <= ret) return; flag = true; for (int j = 0; j < num; ++j) { if (!mp[i][st[j]]) { flag = false; break; } } if (flag) { st[num] = i; dfs(i, num+1); } } if (num > ret) { ret = num; }}int query() { ret = 0; for (int i = N-1; i >= 0; --i) { st[0] = i; dfs(i, 1); cnt[i] = ret; } return ret;}int main() { while (scanf("%d", &N), N) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { scanf("%d", &mp[i][j]); } } printf("%d\n", query()); } return 0; }

 

老版本:8000MS+,前面的1000MS+

#include 
#include
#include
#include
#include
using namespace std;int N, mp[55][55];int ret, st[55], cnt;void dfs(int x) { if (x >= N) { ret = cnt; return; } int flag = true; for (int i = 0; i < N; ++i) { if (st[i] && !mp[x][i]) { flag = false; break; } } if (flag) { st[x] = 1, ++cnt; dfs(x+1); st[x] = 0, --cnt; } if (cnt+N-1-x > ret) { dfs(x+1); }}int query() { ret = cnt = 0; memset(st, 0, sizeof (st)); dfs(0); return ret;}int main() { while (scanf("%d", &N), N) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { scanf("%d", &mp[i][j]); } } printf("%d\n", query()); } return 0; }

 

转载于:https://www.cnblogs.com/Lyush/archive/2013/04/02/2996492.html

你可能感兴趣的文章
55%受访企业将物联网战略视为有效竞争手段
查看>>
深入理解Python中的ThreadLocal变量(上)
查看>>
如果一切即服务,为什么需要数据中心?
查看>>
《游戏开发物理学(第2版)》一导读
查看>>
Erlang简史(翻译)
查看>>
深入实践Spring Boot2.4.2 节点和关系实体建模
查看>>
信息可视化的经典案例:伦敦地铁线路图
查看>>
10个巨大的科学难题需要大数据解决方案
查看>>
Setting Up a Kerberos server (with Debian/Ubuntu)
查看>>
用 ThreadLocal 管理用户session
查看>>
setprecision后是要四舍五入吗?
查看>>
shiro初步 shiro授权
查看>>
上云就是这么简单——阿里云10分钟快速入门
查看>>
MFC多线程的创建,包括工作线程和用户界面线程
查看>>
我的友情链接
查看>>
FreeNAS8 ISCSI target & initiator for linux/windows
查看>>
cvs文件提交冲突解决方案
查看>>
PostgreSQL数据库集群初始化
查看>>
++重载
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>