UVA 12168 Cat vs. Dog(最大独立集)
来源:互联网 发布:sql中values什么意思 编辑:程序博客网 时间:2024/06/06 03:40
这个看的出来是求最大独立集,但是一开始一直是猫和狗矛盾,用毛和狗在做最大匹配。
但是题目要求是最多满足多少人的要求,才发现,是人的最大独立集。
#include<iostream>#include<cstring>using namespace std;const int maxn=500+5;bool line[maxn][maxn],used[maxn];int match[maxn],c,d;struct person{ int like,unlike; person(int l=0,int ul=0): like(l),unlike(ul) {}}cat[maxn],dog[maxn];bool find(int i){ for(int j=1;j<=d;j++) { if(line[i][j]==true&&used[j]==false) { used[j]=true; if(match[j]==-1||find(match[j])) { match[j]=i; return true; } } } return false;}int main(){ int t; scanf("%d",&t); while(t--) { memset(line,false,sizeof(line)); memset(match,-1,sizeof(match)); int n,m,v; scanf("%d%d%d",&n,&m,&v); c=0,d=0; char s1[5],s2[5]; for(int i=1;i<=v;i++) { scanf("%s%s",s1,s2); int a=0,b=0; for(int j=1;s1[j];j++) a=a*10+s1[j]-'0'; for(int j=1;s2[j];j++) b=b*10+s2[j]-'0'; if(s1[0]=='C') {cat[++c]=person(a,b);} else {dog[++d]=person(a,b);} } for(int i=1;i<=c;i++) { for(int j=1;j<=d;j++) { if(cat[i].unlike==dog[j].like||cat[i].like==dog[j].unlike) line[i][j]=true; } } int ans=0; for(int i=1;i<=c;i++){ memset(used,false,sizeof(used)); if(find(i)) ans+=1; } printf("%d\n",v-ans); } return 0;}
0 0
- UVA 12168 Cat vs. Dog(最大独立集)
- uva 12168 - Cat vs. Dog (最大匹配 ——最大独立集)
- hdu2768 Cat vs. Dog (最大独立集)
- hdu_2768 Cat vs. Dog 最大独立集
- hdu2768 Cat vs. Dog【最大独立集】
- (beginer) 二分图(最大独立集) UVA 12168 Cat vs. Dog
- UVA 12168 - Cat vs. Dog(二分图匹配+最大独立集)
- UVA 12168 Cat vs. Dog(二分图匹配+匈牙利算法+最大独立集+数据转化)
- hdu 2768 Cat vs. Dog 最大独立集(最大匹配)
- HDU 3829 Cat VS Dog 最大独立集(最大匹配)
- HDU 3829 Cat VS Dog(最大独立集)
- HDU 2768 Cat vs Dog(最大独立集)
- HDU 3829 Cat VS Dog (最大独立点集)
- hdu 3829 Cat VS Dog 最大点独立集
- Cat VS Dog 求二分图最大独立集
- hdu 2768 Cat vs. Dog (最大独立集)
- 【HDU】2768 Cat vs. Dog 最大独立集
- HDU 3829 Cat VS Dog(二分图最大独立集)
- C语言模拟实现strncpy、strcat
- 求和
- ViewPager 详解(一)---基本入门
- poj 1050 To The Max
- c#试题(一)
- UVA 12168 Cat vs. Dog(最大独立集)
- jsp到后台乱码问题的解决方案
- Netty 中文教程 (二) Hello World !详解
- torch7跑mnist例子出现No LuaRocks module found for weight-init问题
- Node核心模块之Events
- git使用总结
- client
- Python零基础入门一
- hibernate cascade,inverse和lazy的用法