题意:

p个人  每一个人有喜欢和讨厌的动物  假设选出的动物中包括这个人喜欢的动物同一时候不包括他讨厌的动物那么这个人会开心  问  最多几个人开心

思路:

二分图最大独立集  利用人与人之间的冲突建边  求最大匹配就可以

注意:

题中的例子给出动物的名字是D1、C1之类的  事实上名字可能比这个长…  所以数组开长点

代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<cstdlib>
#include<ctime>
#include<cmath>
using namespace std;
typedef unsigned long long LL;
#define N 510struct edge {int v, next;
} ed[N * N];
int vis[N], match[N], head[N];
int n, tot;
char like[N][10], dislike[N][10];void add(int u, int v) {ed[tot].v = v;ed[tot].next = head[u];head[u] = tot++;
}bool dfs(int u) {int i, v;for (i = head[u]; ~i; i = ed[i].next) {v = ed[i].v;if (!vis[v]) {vis[v] = 1;if (!match[v] || dfs(match[v])) {match[v] = u;return true;}}}return false;
}int bimatch() {int i, sol = 0;memset(match, 0, sizeof(match));for (i = 1; i <= n; i++) {memset(vis, 0, sizeof(vis));if (dfs(i))sol++;}return sol;
}int main() {int i, j, ans;while (~scanf("%d%d%d", &i, &j, &n)) {for (i = 1; i <= n; i++)scanf("%s%s", like[i], dislike[i]);memset(head, -1, sizeof(head));tot = 0;for (i = 1; i <= n; i++) {for (j = i + 1; j <= n; j++) {if (!strcmp(like[i], dislike[j])|| !strcmp(like[j], dislike[i])) {add(i, j);add(j, i);}}}ans = n - bimatch() / 2;printf("%d\n", ans);}return 0;
}

HDU 3829 Cat VS Dog相关推荐

  1. HDU - 3829 Cat VS Dog(最大独立集-二分图最大匹配)

    题目链接:点击查看 题目大意:给出n只狗和m只猫,现在有p个小朋友,每个小朋友都有一只喜欢的猫和一只不喜欢的狗,或者有一只喜欢的狗和一只不喜欢的猫,如果一个小朋友喜欢的动物还在,不喜欢的动物走了,那么 ...

  2. HDU——2768 Cat vs. Dog

    Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  3. python 二分类的实例_keras分类之二分类实例(Cat and dog)

    1. 数据准备 在文件夹下分别建立训练目录train,验证目录validation,测试目录test,每个目录下建立dogs和cats两个目录,在dogs和cats目录下分别放入拍摄的狗和猫的图片,图 ...

  4. Python视觉深度学习系列教程 第二卷 第9章 Kaggle竞赛:Cat与Dog

    第二卷 第九章 Kaggle竞赛:Cat与Dog 在本章中,我们将扩展我们的工作并学习如何为HDF5数据集定义一个图像生成器,适用于使用Keras训练卷积神经网络.该生成器将打开HDF5数据集,为要训 ...

  5. java继承 -宠物类叫Pet(父类) ;属性有name 和 age; 行为有吃 eat(); 喝 drink(); 叫声shout();子类 Cat 和 Dog Cat继承 Pet类所

    package cn.bdqn.Homework1; public class Pet {     /*宠物类叫Pet(父类) :         属性有name 和 age:           行 ...

  6. 小试牛刀:猫狗识别 Cat VS Dog

    小试牛刀:用猫狗识别来练练手(只用了 10% 数据来训练) ps: 猫狗识别拿来做新算/想法的尝试,也是一个挺不错的选择 怎么能少了实现代码:https://github.com/Azure-Sky- ...

  7. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  8. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  9. ACM 图论入门题(附代码解释)

    目录 HDU 1869 六度分离 HDU 1874 畅通工程续 (最短路) HDU 3339 In Action (最短路+01背包) HDU 1162 Eddy's picture(prime算法) ...

  10. kuangbin带你飞 专题1-23 题单

    kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...

最新文章

  1. @EnableTransactionManagement
  2. 爬虫10-股票信息定向爬取
  3. ie浏览器打开aspx文件乱码_html文件的中文乱码问题与在浏览器中的显示问题
  4. C#之判断Mysql数据库表是否存在
  5. 怎么修改MAC电脑名字,三步教你修改MAC电脑的名字
  6. 免费的二维码图片生成API接口和使用
  7. Netty总结(面试须知)
  8. java生成高斯模糊图片
  9. Learning Kali Linux 学习Kali Linux Lynda课程中文字幕
  10. Self-supervised Learning for Large-scale Item Recommendations (CIKM 2021)
  11. CSS - 精灵图和字体图标
  12. 使用ZXing扫描多个二维码,条形码
  13. cmt obm odm 代工模式oem_作为经销商如果你不懂什么是OEM、ODM、OBM?代工、贴牌是什么?那就把这些记住!...
  14. nodejs+ffmpeg视频转码
  15. Harbor仓库清理
  16. python写我的世界启动器_的世界(Minecraft)如何自己制作启动器-百度经验
  17. 如何用MathType编辑化学等式
  18. 有道精品课python-诚意推荐几个腾讯、美团、阿里技术大佬的公号
  19. 惠普probook/elitebook/zbook 笔记本黑苹果ELF、DSDT下载
  20. 如何构建数字化时代的人才转型方案,Adobe用人工智能给出方案

热门文章

  1. PHP Mysql or条件排序问题
  2. gogs 把用户加入项目
  3. Matlab函数——wgn
  4. uos的安全检测:sqlite-jdbc访问/tmp目录的提示
  5. 测试webRTC时浏览器机器一定要有摄像头
  6. Etcher/下载链接
  7. error: ‘avcodec_alloc_frame’ was not declared in this scope
  8. 解决办法:对BZ2_bzDecompressInit/BZ2_bzDecompress/BZ2_bzDecompressEnd未定义的引用
  9. 百度手机输入法中的五笔9键盘有问题?
  10. 百度浏览器内核太低,浏览京东有问题