一道匈牙利的裸题,将床和人建边,纯属复习模版了(然而就是写错了)

注意一下0和1的表示。

#include<cstdio>
#include<cstring>
using namespace std;
struct node
{int x,y,next;
}a[41000];int len,last[2100];
void ins(int x,int y)
{len++;a[len].x=x;a[len].y=y;a[len].next=last[x];last[x]=len;
}
int match[2100];
bool v[2100];
bool find_muniu(int x)
{for(int k=last[x];k;k=a[k].next){int y=a[k].y;if(v[y]==false){v[y]=true;if(match[y]==0||find_muniu(match[y])==true){match[y]=x;return true;}}}return false;
}
int z[1100],l[1100],ysp[1100],ysb[1100];
int main()
{freopen("holiday.in","r",stdin);freopen("holiday.out","w",stdout);int T;scanf("%d",&T);while(T--){int n,P=0,B=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&z[i]);if(z[i]==1)ysb[i]=++B;}for(int i=1;i<=n;i++){scanf("%d",&l[i]);if(z[i]==0)l[i]=0;if(l[i]==0)ysp[i]=++P;}int x;//1~P表示人,P+1~B表示床 len=0;memset(last,0,sizeof(last));for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){scanf("%d",&x);if(l[i]==1||z[j]==0)continue;if(i==j||x==1){ins(ysp[i],ysb[j]);}}memset(match,0,sizeof(match));bool bk=true;for(int i=1;i<=P;i++){memset(v,false,sizeof(v));if(find_muniu(i)==false){bk=false;break;}}if(bk==true)printf("^_^\n");else         printf("T_T\n");}return 0;
}

转载于:https://www.cnblogs.com/AKCqhzdy/p/7859814.html

bzoj1433: [ZJOI2009]假期的宿舍相关推荐

  1. BZOJ1433 ZJOI2009 假期的宿舍 二分图匹配

    1433: [ZJOI2009]假期的宿舍 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2375  Solved: 1005 [Submit][S ...

  2. BZOJ1433 [ZJOI2009]假期的宿舍 - 二分图匹配

    题解 一道裸的二分图匹配,稍微有一点细节需要注意, 但是非常裸= = 本校并且住校的向自己的床和 自己认识的并且本校的人的床连边 离校的不需要向外连边 不是本校的就和自己认识的 并且是本校的人的床连边 ...

  3. BZOJ1433[ZJOI2009]假期的宿舍——二分图最大匹配

    题目描述 学校放假了······有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如A 和B都是学校的学生,A要回家,而C来看B,C与A不认识.我们假设每个人只能睡和自己直接认 ...

  4. 二分图 洛谷P2055 [ZJOI2009]假期的宿舍

    [ZJOI2009]假期的宿舍 题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 ...

  5. 【bzoj1433】[ZJOI2009]假期的宿舍

    按要求连边,跑匈牙利 #include<algorithm> #include<iostream> #include<cstdlib> #include<cs ...

  6. P2055 [ZJOI2009]假期的宿舍

    有点烧脑... 这道题是求二分图完美匹配.没看请题意还不知道是求完美匹配,结果爆零. 人一共分三种: 在校学生 && 回家.这类人拥有一个床,但是不睡. 在校学生 && ...

  7. BZOJ 1433 Luogu P2055 [ZJOI2009]假期的宿舍 匈牙利算法

    刚学了匈牙利正好练练手(我不会说一开始我写错了)(怕不是寒假就讲了可是我不会) 把人看做左部点,床看作右部点 建图:(!!在校相当于有床,不在校相当于没有床 但是要来学校) 1.在校的 不走的人 自己 ...

  8. [ZJOI2009]假期的宿舍

    https://www.luogu.org/problemnew/show/P2055 https://www.lydsy.com/JudgeOnline/problem.php?id=1433 题解 ...

  9. P2055 [ZJOI2009]假期的宿舍(二分图匹配)

    题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题. 比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识 ...

最新文章

  1. 每日一皮:当写的程序出现bug时,就是这么奇妙...
  2. 数据库连接客户端使用(db2,oracle,mysql)
  3. matlab 状态估计,基于_当前_统计模型的目标状态估计MATLAB 实现
  4. tp5 引入 没有命名空间的类库的方法(以微信支付SDK为例)
  5. Android 编程下 Touch 事件的分发和消费机制
  6. Oracle数据库用法汇总
  7. 陈天奇的tvm更新了:VTA,开源AI芯片栈
  8. 软件工程 2016.7.3 日报
  9. Java可变参数的使用
  10. 2021年最完善的谷歌SEO关键词调研技巧
  11. 项目UML设计--日不落战队
  12. Java Web实训项目:西蒙购物网1
  13. 【翻译】Bing-CF-IDF+:语义驱动的新闻推荐系统
  14. 个税计算--Java
  15. Eclipse的快捷键设置及使用
  16. Libev documentation
  17. 中断向量表 异常相量表 中断向量(中断函数入口地址)ARM和X86异常向量表不同
  18. 【头歌】顺序表的基本操作
  19. 360流量卫士android 9,360流量卫士
  20. linux 设置显卡命令,linux安装显卡驱动命令

热门文章

  1. 与python相关的考研专业-给考研人:掌握这项技能,让你每天的学习高效又充实...
  2. python3.6.1安装教程-Linux下python3.6.1环境配置教程
  3. python使用函数的优点-原来 Python 还有这些实用的功能和特点!
  4. python初学者web还是爬虫-还在纠结学爬虫还是数据分析,不如看看这篇文章
  5. python打开是什么颜色-python图片颜色
  6. python月薪是多少-2019年 Python就业市场行情好不好, 薪资多少?
  7. python自学流程-Python系统学习流程图,教你一步步学习python
  8. 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?
  9. python画简单图片-Python 画个图
  10. 如何使用python画折线图-Python 使用 matplotlib 画折线图教程