题意:
      给你一个无向图,让你找到这个图里面的最大团是多少。
思路:
      最大图案是NP问题,直接暴力搜索,如果当前的这个点可以加入当前最大团,那么就选择加入或者舍去,如果不能加入,直接舍去,还有一个剪枝就是当前的答案+后面剩余所有点 小于 当前的全局最大 的话直接return.

自己写的跑了 4000+

#include<stdio.h>#define N 60

int map[N][N] ,n;
int now[N] ,Ans;bool ok(int sum ,int to)
{for(int i = 1 ;i <= sum ;i ++)if(!map[now[i]][to]) return 0;return 1;
}void DFS(int to ,int sum ,int node)
{if(Ans < sum) Ans = sum;if(sum + n - node < Ans) return;for(int i = to + 1 ;i <= n ;i ++)if(ok(sum ,i)) {now[sum + 1] = i;DFS(i ,sum + 1 ,node + 1);}
}int main ()
{int i ,j;while(~scanf("%d" ,&n) && n){for(i = 1 ;i <= n ;i ++)for(j = 1 ;j <= n ;j ++)scanf("%d" ,&map[i][j]);Ans = 0;for(i = 1 ;i <= n ;i ++){now[1] = i;DFS(i ,1 ,1);}printf("%d\n" ,Ans);}return 0;
}

后来学了dp优化后的 900+

#include<stdio.h>#define N 60

int map[N][N];
int dp[N] ,now[N];
int n ,Ans;void DFS(int x ,int sum)
{if(sum > Ans) Ans = sum;int able = 0;int tnow[N];for(int i = x + 1 ;i <= n ;i ++){tnow[i] = now[i];if(now[i]) able ++;}if(able + sum <= Ans) return;for(int i = x + 1 ;i <= n ;i ++){if(!tnow[i]) continue;if(dp[i] + sum <= Ans) continue;for(int j = x + 1 ;j <= n ;j ++)now[j] = tnow[j] & map[i][j];DFS(i ,sum + 1);}
}int Max_Tuan()
{Ans = dp[n] = 1;for(int i = n - 1 ;i >= 1 ;i --){for(int j = 1 ;j <= n ;j ++)now[j] = map[i][j];DFS(i ,1);dp[i] = Ans;}return Ans;
}int main ()
{int i ,j;while(~scanf("%d" ,&n) && n){for(i = 1 ;i <= n ;i ++)for(j = 1 ;j <= n ;j ++)scanf("%d" ,&map[i][j]);printf("%d\n" ,Max_Tuan());}return 0;
}

hdu1530 最大团简单题目相关推荐

  1. LeetCode简单题目(#263 #268 #278 #283 #290)-5道(数字、字符串)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 263 丑数 描述 代码 大神代码 268 缺失数字 描述 代码 ...

  2. LeetCode简单题目(#235 #237 #242 #257 #258)-5道(树、数字、字符串)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 235 二叉搜索树的最近公共祖先 描述 代码 237 删除链表中 ...

  3. LeetCode简单题目(#225 #226 #231 #232 #234)-5道(栈、队列、树、数字)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 225 用队列实现栈 描述 代码 226 翻转二叉树 描述 代码 ...

  4. LeetCode简单题目(#203 #204 # #205 #206 #217 #219)-6道(序列、数字)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 203 移除链表元素 描述 代码 大神代码-递归 204 计数质 ...

  5. LeetCode简单题目(#172 #189 #190 #191 #198 #202)-6道(序列、数字)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 172 阶乘后的零 描述 代码 官方解答 189 旋转数组 描述 ...

  6. LeetCode简单题目(#160 #167 #168 #169 #171)-5道(序列、数字)

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 160 相交链表 描述 代码 大神代码-双指针法 大神代码-哈希 ...

  7. LeetCode简单题目(#118 #119 #121 #122 #125 #136 #141 #155)-8道

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 118 杨辉三角 描述 代码 官方解答 119 杨辉三角II 描 ...

  8. LeetCode简单题目(二叉树相关)(#100 #101 #104 #107 #108 #110 #111 #112)-8道

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 100 相同的树 描述 代码 更好的解法 101 对称二叉树 描 ...

  9. LeetCode简单题目(#53 #58 #66 #67 #69 #70 #83 #88)-8道

    leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 53 最大子序和 描述 代码 大佬代码 58 最后一个单词的长度 ...

最新文章

  1. The Minimum Cycle Mean in a Digraph 《有向图中的最小平均权值回路》 Karp
  2. eclipse中如何将java项目转为java Web项目
  3. 服务器保存所有用户的操作指令(history)
  4. Integer判断相等,到底该用==还是equals
  5. ORA-12519: TNS: 没有找到适用的服务处理
  6. Java程序编译和运行的过程
  7. pytorch教程龙曲良16-20
  8. 火热报名|5月15日线下沙龙上海站——“大促活动场景下的质量保障”主题
  9. 【linux】linux 安装 redis
  10. 渗透工具Sylas:数据库综合利用工具
  11. 大数据SQL如何实现笛卡尔积
  12. Linux虚拟机中安装vim(超详细)
  13. 解决eclipse桌面快捷方式打不开的问题
  14. 计算机自动开机什么愿意,电脑自动开关机是什么原因 怎么解决呢
  15. ipa包发布App Store
  16. 【SQL Server】数据库开发指南(二)MSSQL数据库开发对于库、表、数据类型、约束等相关操作
  17. HTML乘法器制作,一种单象限乘法器的制作方法
  18. Spring Cloud Gateway网关实战
  19. python藏头诗_Python简单实现表白藏头诗
  20. 盛大网络 陈天桥力挺360,腾讯再受打击

热门文章

  1. 《JavaScript DOM 编程艺术》 读书笔记
  2. 2017中国物联网年报:我国传感器竞争力与发达国家的差距
  3. 优秀好文收录(持续更新...)
  4. [LeetCode]题解(python):011-Container With Most Water
  5. 《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
  6. Javascript刷新全集
  7. 在RHEL-4下半小时搭建Sendmail邮件服务器(下)
  8. 如何让你的SQL运行得更快
  9. (转)C# Delegate.Invoke、Delegate.BeginInvoke
  10. Linux文件大小排序