bzoj1433: [ZJOI2009]假期的宿舍
一道匈牙利的裸题,将床和人建边,纯属复习模版了(然而就是写错了)
注意一下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]假期的宿舍相关推荐
- BZOJ1433 ZJOI2009 假期的宿舍 二分图匹配
1433: [ZJOI2009]假期的宿舍 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2375 Solved: 1005 [Submit][S ...
- BZOJ1433 [ZJOI2009]假期的宿舍 - 二分图匹配
题解 一道裸的二分图匹配,稍微有一点细节需要注意, 但是非常裸= = 本校并且住校的向自己的床和 自己认识的并且本校的人的床连边 离校的不需要向外连边 不是本校的就和自己认识的 并且是本校的人的床连边 ...
- BZOJ1433[ZJOI2009]假期的宿舍——二分图最大匹配
题目描述 学校放假了······有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如A 和B都是学校的学生,A要回家,而C来看B,C与A不认识.我们假设每个人只能睡和自己直接认 ...
- 二分图 洛谷P2055 [ZJOI2009]假期的宿舍
[ZJOI2009]假期的宿舍 题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 ...
- 【bzoj1433】[ZJOI2009]假期的宿舍
按要求连边,跑匈牙利 #include<algorithm> #include<iostream> #include<cstdlib> #include<cs ...
- P2055 [ZJOI2009]假期的宿舍
有点烧脑... 这道题是求二分图完美匹配.没看请题意还不知道是求完美匹配,结果爆零. 人一共分三种: 在校学生 && 回家.这类人拥有一个床,但是不睡. 在校学生 && ...
- BZOJ 1433 Luogu P2055 [ZJOI2009]假期的宿舍 匈牙利算法
刚学了匈牙利正好练练手(我不会说一开始我写错了)(怕不是寒假就讲了可是我不会) 把人看做左部点,床看作右部点 建图:(!!在校相当于有床,不在校相当于没有床 但是要来学校) 1.在校的 不走的人 自己 ...
- [ZJOI2009]假期的宿舍
https://www.luogu.org/problemnew/show/P2055 https://www.lydsy.com/JudgeOnline/problem.php?id=1433 题解 ...
- P2055 [ZJOI2009]假期的宿舍(二分图匹配)
题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题. 比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识 ...
最新文章
- 每日一皮:当写的程序出现bug时,就是这么奇妙...
- 数据库连接客户端使用(db2,oracle,mysql)
- matlab 状态估计,基于_当前_统计模型的目标状态估计MATLAB 实现
- tp5 引入 没有命名空间的类库的方法(以微信支付SDK为例)
- Android 编程下 Touch 事件的分发和消费机制
- Oracle数据库用法汇总
- 陈天奇的tvm更新了:VTA,开源AI芯片栈
- 软件工程 2016.7.3 日报
- Java可变参数的使用
- 2021年最完善的谷歌SEO关键词调研技巧
- 项目UML设计--日不落战队
- Java Web实训项目:西蒙购物网1
- 【翻译】Bing-CF-IDF+:语义驱动的新闻推荐系统
- 个税计算--Java
- Eclipse的快捷键设置及使用
- Libev documentation
- 中断向量表 异常相量表 中断向量(中断函数入口地址)ARM和X86异常向量表不同
- 【头歌】顺序表的基本操作
- 360流量卫士android 9,360流量卫士
- linux 设置显卡命令,linux安装显卡驱动命令
热门文章
- 与python相关的考研专业-给考研人:掌握这项技能,让你每天的学习高效又充实...
- python3.6.1安装教程-Linux下python3.6.1环境配置教程
- python使用函数的优点-原来 Python 还有这些实用的功能和特点!
- python初学者web还是爬虫-还在纠结学爬虫还是数据分析,不如看看这篇文章
- python打开是什么颜色-python图片颜色
- python月薪是多少-2019年 Python就业市场行情好不好, 薪资多少?
- python自学流程-Python系统学习流程图,教你一步步学习python
- 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?
- python画简单图片-Python 画个图
- 如何使用python画折线图-Python 使用 matplotlib 画折线图教程