题目链接:https://cn.vjudge.net/problem/UVA-12083

题意

学校组织去郊游,选择最多人数,使得任意两个人之间不能谈恋爱

不恋爱条件是高差大于40、同性、喜欢的音乐风格不同、喜欢的运动相同中的任意一个

思路

二分图最大独立集,集合内任两节点间没有边

最大独立集节点数=总结点数-最大匹配

模版题咯

提交过程

CE1 选错语言
CE2 string头文件忘写
AC

代码

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <string>
  4. #include <algorithm>
  5. using namespace std;
  6. const int maxn=500+20;
  7. struct Person{
  8. int hei;
  9. bool male;
  10. string music, sport;
  11. }person[2][maxn];
  12. bool G[maxn][maxn], vis[maxn];
  13. int match[maxn], n, m;
  14. bool dfs(int u){
  15. for (int i=0; i<m; i++) if (!vis[i] && G[u][i]){
  16. vis[i]=true;
  17. if (match[i]==-1 || dfs(match[i])){
  18. match[i]=u;
  19. return true;
  20. }
  21. }return false;
  22. }
  23. int solve(void){
  24. int ans=0;
  25. memset(match, -1, sizeof(match));
  26. for (int i=0; i<n; i++){
  27. memset(vis, false, sizeof(vis));
  28. if (dfs(i)) ans++;
  29. }return ans;
  30. }
  31. int main(void){
  32. int T, size;
  33. char music[100], sport[100], sex[5];
  34. int hei;
  35. scanf("%d", &T);
  36. while (T--){
  37. n=m=0;
  38. scanf("%d", &size);
  39. for (int i=0; i<size; i++){
  40. scanf("%d%s%s%s", &hei, sex, music, sport);
  41. if (sex[0]=='M') person[0][n++]=Person{hei, 1, string(music), string(sport)};
  42. else person[1][m++]=Person{hei, 0, string(music), string(sport)};
  43. }
  44. memset(G, false, sizeof(G));
  45. for (int i=0; i<n; i++)
  46. for (int j=0; j<m; j++){
  47. Person &male=person[0][i], &female=person[1][j];
  48. if (abs(male.hei-female.hei)<=40 && male.music==female.music && male.sport!=female.sport)
  49. G[i][j]=true;
  50. }
  51. printf("%d\n", n+m-solve());
  52. }
  53. return 0;
  54. }
Time Memory Length Lang Submitted
40ms 1265 C++11 5.3.0 2018-07-26 14:06:14

UVA-12083 Guardian of Decency 二分图 最大独立集的更多相关文章

  1. uva 12083 Guardian of Decency (二分图匹配)

    uva 12083 Guardian of Decency Description Frank N. Stein is a very conservative high-school teacher. ...

  2. UVA - 12083 Guardian of Decency (二分匹配)

    题意:有N个人,已知身高.性别.音乐.运动.要求选出尽可能多的人,使这些人两两之间至少满足下列四个条件之一. 1.身高差>40  2.性别相同  3.音乐不同  4.运动相同 分析: 1.很显然 ...

  3. POJ2771_Guardian of Decency(二分图/最大独立集=N-最大匹配)

    解决报告 http://blog.csdn.net/juncoder/article/details/38159017 题目传送门 题意: 看到题目我就笑了.., 老师觉得这种两个学生不是一对: 身高 ...

  4. POJ 2771 Guardian of Decency 【最大独立集】

    传送门:http://poj.org/problem?id=2771 Guardian of Decency Time Limit: 3000MS   Memory Limit: 65536K Tot ...

  5. UVAlive3415 Guardian of Decency(最大独立集)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34831 [思路] 二分图的最大独立集. 即在二分图中选取最多的点, ...

  6. UVALive-3415 Guardian of Decency (最大独立集)

    题目大意:一个老师要带一些学生去春游,但是要带的学生中任意两个人都满足下面四个条件中的至少一个:1.性别相同:2.身高差大与40公分:3.最喜欢的音乐类型不同:4.最喜欢的体育运动相同.问老师最多能带 ...

  7. POJ 2771 Guardian of Decency(最大独立集数=顶点数-最大匹配数)

    题目链接: http://poj.org/problem?id=2771 Description Frank N. Stein is a very conservative high-school t ...

  8. Guardian of Decency(二分图)

    Guardian of Decency Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  9. Guardian of Decency UVALive - 3415 最大独立集=结点数-最大匹配数 老师带大学生旅游

    /** 题目:Guardian of Decency UVALive - 3415 最大独立集=结点数-最大匹配数 老师带大学生旅游 链接:https://vjudge.net/problem/UVA ...

随机推荐

  1. iOS原生数据存储策略

    一 @interface NSCache : NSObject Description A mutable collection you use to temporarily store transi ...

  2. TF基础2

    1.常用API 1.图,操作和张量 tf.Graph,tf.Operation,tf.Tensor 2.可视化 TensorBoard 3.变量作用域 在TF中有两个作用域(scope),一个是nam ...

  3. layui动态修改select的选中项

    layui动态修改select的选中项:(在layUI下给select设置默认选项) 例: $("select[name='result']").val(11); //重新渲染表单 ...

  4. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

  5. JS iframe给父类传值

    父类页面 <html><head> <script type="text/javascript">            function Ge ...

  6. sql where条件子句

    where中可用的运算符: where 的执行 是从右到左: where的SQL优化:(where条件特别多的情况下,效果明显) 对于and,应该尽量把假的放到右边. 对于or,应该尽量把真的放到右边 ...

  7. 优化VR体验的7个建议

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接: http://blog.csdn.net/cartzhang/article/details/50392607 作者:ca ...

  8. 前端通过canvas实现图片压缩

    在一次的项目中,需要用户上传图片,目前市场随便一个手机拍出来的照片都是好几兆,直接上传特别占用带宽,影响用户体验,所以要求对用户上传图片进行压缩后再上传:那么前端怎么实现这个功能呢? 亲测可将4M图片 ...

  9. WinServer-IIS-MIME类型

    自定义类型的处理流程 1.浏览器问服务器,这是什么类型的文件 2.服务器告诉浏览器这是什么类型的文件(如果不告诉,那么浏览器就会下载相应文件) 3.浏览器告诉windows注册表这是什么类型的文件 4 ...

  10. ASP.NET-post、get的区别

    post.get的区别 1.get通过把参数加在浏览器的地址栏中提交(最大2K),用post可以进行文件的提交: 2.使用post提交的页面在点击[刷新]按钮的时候浏览器一般会提示"是否重新 ...