当前位置: 首页 > news >正文

P2055 [ZJOI2009] 假期的宿舍

P2055 [ZJOI2009] 假期的宿舍

大意

要求满足不回家的人和外校的人都有床睡,一个人只会睡自己认识的人的床。

思路

考虑二分图最大匹配。

然后,这个点 \(u \to v\) 连边的前置条件是 \(v\) 是在校学生,且 \(v\) 回家睡觉。

需要注意的是,自己显然是可以睡自己的床的(并非废话),只要这个学生在校且不回家,就可以 \(u \to u\)

将图建出来之后,直接跑二分图最大匹配即可。

代码

#include<iostream>
#include<vector>
#include<cstring>
using namespace std;const int MAXN = 55;
int n;
int T;
bool at[MAXN];
int home[MAXN];
vector<int> g[MAXN];
int mac[MAXN];
bool vis[MAXN];bool dfs(int u){for(int &v : g[u]){if(!vis[v]){vis[v] = 1;if(mac[v] == -1 || dfs(mac[v])){mac[v] = u;return true;}}}return false;
}int hungary(int n){int cnt = 0;memset(mac, -1, sizeof(mac));for(int i = 1;i <= n;i ++){memset(vis, 0, sizeof(vis));if(!at[i] || (at[i] && !home[i])) cnt += dfs(i);}return cnt;
}int main(){cin >> T;while(T --){int sum = 0;cin >> n;for(int i = 1;i <= n;i ++) g[i].clear();for(int i = 1;i <= n;i ++){cin >> at[i];}for(int i = 1;i <= n;i ++){cin >> home[i];if(!home[i] && at[i]){g[i].push_back(i);}}for(int i = 1;i <= n;i ++){if(!at[i] || (at[i] && !home[i])) sum ++;}for(int i = 1;i <= n;i ++){for(int j = 1;j <= n;j ++){bool rela; cin >> rela;if(rela && at[j]){g[i].push_back(j);}}}if(hungary(n) == sum){cout << "^_^\n";}else{cout << "T_T\n";}}return 0;
}
http://www.rkmt.cn/news/123124.html

相关文章:

  • 托福备考不迷路!这些宝藏辅导机构请查收 - 品牌测评鉴赏家
  • 区间最值与区间历史最值
  • 雅思报班不迷路!这些机构值得重点关注 - 品牌测评鉴赏家
  • 2025 雅思培训机构怎么选?这 5 大核心指标帮你避坑 - 品牌测评鉴赏家
  • 2025年舟山服务好的广播电台广告折扣选哪家,户外led大屏广告/公交广告/地铁广告/电视台广告/广播电台广告联系电话哪个好 - 品牌推荐师
  • 2025年激光投影机技术白皮书与主流机型选购推荐,16000流明投影机/12000流明投影机/8000流明投生产厂家推荐 - 品牌推荐师
  • 软件工程学习日志2025.12.18
  • 与网络商家的谈话,如何缓解大三学生的焦虑
  • 【LangChain4J】聊天记忆-高阶Api
  • ArchLinux 开机自动打开 NumLock
  • P5782 [POI 2001] 和平委员会
  • 辛普森法则
  • 《嘟嘟脸恶作剧》:说是捏脸,你还真捏脸啊?
  • 英语_阅读_if Your computer broke down_待读
  • RadeGS——PCC损失
  • 实用指南:GitHub 热榜项目 - 日榜(2025-11-20)
  • 自动化机器学习AutoML:TPOT工具从零到实战完整使用教程
  • JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5 - 实践
  • 第六十二篇
  • RadeGS——添加法向量损失
  • 浅析Cursor Rules了解(工作原理、四种规则类型对比、文件结构、分层设计)及如何在项目中使用的最佳实践
  • [POI 2021/2022 R1] Domino 题解
  • 免费论文生成工具排名:8大网站+无水印下载推荐
  • 我发现跨医院联合训练让诊断准确率飙升后来才知道是横向联邦学习在数据孤岛中的绝招
  • 自考ScrumMaster-PSM:经验分享~
  • 论文查重AI率工具排行榜:9大检测平台+标准推荐
  • 9 个降AI率工具,研究生必看!
  • EtherCAT核心术语DPRAM/FMMU/SM通俗解析
  • Scikit-Learn 1.8引入 Array API,支持 PyTorch 与 CuPy 张量的原生 GPU 加速
  • 从孤岛到桥梁:我的个人知识管理进化史