L - Cat VS Dog - HDU 3829(最大独立集)
#include<stdio.h>
#include<string.h>
#include<queue>
#include<vector>
using namespace std; const int MAXN = ;
const int oo = 1e9+; struct Animal{int like, hate;}Lcat[MAXN], Ldog[MAXN]; bool G[MAXN][MAXN], used[MAXN];
int Ly[MAXN]; bool Find(int i, int N)
{
for(int j=; j<=N; j++)
{
if(G[i][j] && used[j] == false)
{
used[j] = true;
if(!Ly[j] || Find(Ly[j], N))
{
Ly[j] = i;
return true;
}
}
} return false;
} int main()
{
int M, N, P; while(scanf("%d%d%d", &N, &M, &P) != EOF)
{
int i, j, u, v, cn=, dn=;
char ch1, ch2; memset(G, false, sizeof(G));
memset(Ly, false, sizeof(Ly)); for(i=; i<=P; i++)
{
scanf(" ");
scanf("%c%d %c%d", &ch1, &u, &ch2, &v); if(ch1 == 'C')
{///喜欢猫u,不喜欢狗v
Lcat[++cn].like = u;
Lcat[cn].hate = v;
}
else
{///喜欢狗u,不喜欢猫v
Ldog[++dn].like = u;
Ldog[dn].hate = v;
}
} for(i=; i<=cn; i++)
for(j=; j<=dn; j++)
{///如果喜欢猫A的小孩发现不喜欢猫A的小孩,
///或者不喜欢狗A的小孩发现喜欢狗A的,都是排斥关系
if( Lcat[i].like == Ldog[j].hate || Lcat[i].hate == Ldog[j].like )
G[i][j] = true;
} int ans = ; for(i=; i<=cn; i++)
{
memset(used, false, sizeof(used));
if( Find(i, dn) == true )
ans ++;
} printf("%d\n", P-ans);
} return ; }
L - Cat VS Dog - HDU 3829(最大独立集)的更多相关文章
- Cat VS Dog HDU - 3829 (最大独立集 )
Cat VS Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total ...
- Cat VS Dog HDU_3829(最大独立集最大匹配)
Cat VS Dog 题意:一群小朋友去动物园,如果每个小朋友喜欢的动物是猫,那么不喜欢的动物一定是狗,反之也是.现在动物园的管理者要拿走一些动物,如果拿走的是某个小朋友不喜欢的动物,那这个小朋友就非 ...
- HDU 3829 - Cat VS Dog (二分图最大独立集)
题意:动物园有n只猫和m条狗,现在有p个小孩,他们有的喜欢猫,有的喜欢狗,其中喜欢猫的一定不喜欢狗,喜欢狗的一定不喜欢猫.现在管理员要从动物园中移除一些动物,如果一个小孩喜欢的动物留了下来而不喜欢的动 ...
- HDU 3829——Cat VS Dog——————【最大独立集】
Cat VS Dog Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- HDU 3829 Cat VS Dog / NBUT 1305 Cat VS Dog(二分图最大匹配)
HDU 3829 Cat VS Dog / NBUT 1305 Cat VS Dog(二分图最大匹配) Description The zoo have N cats and M dogs, toda ...
- (hdu step 6.3.7)Cat vs. Dog(当施工方规则:建边当观众和其他观众最喜爱的东西冲突,求最大独立集)
称号: Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- hdu 3829 Cat VS Dog 二分图匹配 最大点独立集
Cat VS Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Prob ...
- HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
题意:每个人有喜欢的猫和不喜欢的狗.留下他喜欢的猫他就高心,否则不高心.问最后最多有几个人高心. 思路:二分图求最大匹配 #include<cstdio> #include<cstr ...
- hdu 2768 Cat vs. Dog (二分匹配)
Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
随机推荐
- 零基础学习云计算及大数据DBA集群架构师【企业级运维技术及实践项目2015年1月29日周五】
LNMP/LEMP项目搭建 { 项目框架 # Linux_____WEB_____PHP_____DB # rhel7_____apache__-(libphp5.so)-__php__-(php-m ...
- 2015 南阳ccpc The Battle of Chibi (uestc 1217)
题意:给定一个序列,找出长度为m的严格递增序列的个数. 思路:用dp[i][j]表示长度为i的序列以下标j结尾的总个数.三层for循环肯定超时,首先离散化,离散化之后就可以用树状数组来优化,快速查找下 ...
- codevs 1282 约瑟夫问题(线段树)
#include<iostream> #include<cstdio> #include<cstring> #define maxn 30010 using nam ...
- redisbook笔记——redis内部数据结构
在Redis的内部,数据结构类型值由高效的数据结构和算法进行支持,并且在Redis自身的构建当中,也大量用到了这些数据结构. 这一部分将对Redis内存所使用的数据结构和算法进行介绍. 动态字符串 S ...
- Java枚举类型理解
Enum格式理解 Enum的格式可以看做跟class关键字一样 class的定义格式如下: public class abc{ } enum的定义格式如下: Public enum abc { } 引 ...
- C#实现发送邮件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 转:常用的HTML标签和属性解释
基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</TITLE>,包含 ...
- 写一个基于NSURLSession的网络下载库
前段时间AFNetworking 更新到3.0 ,彻底废弃NSURLConnection的API转由NSURLSession来实现,代码并没有改动很大,AF封装的很好了,读完源码感觉收获很大. 下载不 ...
- js apply
1.作用 函数的apply方法的作用与call方法类似,也是改变this指向,然后再调用该函数.唯一的区别就是,它接收一个数组作为函数执行时的参数 Fn.apply(obj, [arg1, arg2, ...
- STL中的set容器
#include <iostream> #include <set> using namespace std; int main() { set<int> s; s ...