洛谷P2756 飞行员配对方案问题
2024-08-24 09:38:51
二分图裸题,找他的最大匹配即可
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
const int N=1e6+;
int to[N];
struct node
{
int to,nex;
}e[N];
int x,y,tot;
int head[N];
bool vis[N];
void add(int a,int b)
{
e[++tot].to=b;
e[tot].nex=head[a];
head[a]=tot;
}
bool dfs(int x)
{
for(int i=head[x];i;i=e[i].nex)
{
int xx=e[i].to;
if(!vis[xx])
{
vis[xx]=;
if(!to[xx]||dfs(to[xx]))
{
to[xx]=x;
return ;
}
}
}
return ;
}
int main()
{
cin>>n>>m;
cin>>x>>y;
while(x!=-&&y!=-)
{
if(x<=n&&y<=m) add(x,y);
cin>>x;cin>>y;
}
for(int i=;i<=n;i++)
{
memset(vis,,sizeof(vis));
if(dfs(i)) ans++;
}
cout<<ans<<endl;
for(int i=n+;i<=m;i++)
{
if(to[i]) cout<<to[i]<<" "<<i<<endl;
}
return ;
}
最新文章
- oracle创建用户并导入dmp文件
- 前端框架react研究
- 官方文档学习之《start developing iOS apps(swift)》
- C# 正则表达式类 Match类和Group类
- windwos server 2008下iis7各种操作
- SCP和SFTP(都使用SSH。但SCP上传不能中断,而SFTP可以续传,这是最大区别)
- CentOs6.5中安装和配置vsftp简明
- PHP中文件包含的路径问题
- C# 知识回顾 - 装箱与拆箱
- PuTsangTo-单撸游戏开发01 Flag与计划
- WPF:Webbrowser 捕获关闭事件
- 博主自传——蒟蒻的OI之路
- 【转存】Vue组件选项props
- HanLP代码与词典分离方案与流程
- Java NIO 进程间通信
- [图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)
- linux系统时钟和硬件时钟不一致
- zoj 2587 判断最小割的唯一性
- 黄聪:mysql搬家,直接复制data文件夹(*.MYD,*.MYI,innodb)出错,无法正常显示
- iOS自动化测试需求实现(iOS按键精灵类似)
热门文章
- ASP.NET Core中使用GraphQL - 第四章 GraphiQL
- NotificationSetUtilDemo【判断APP通知栏权限是否开启,以及如何跳转到应用程序设置界面】
- SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人
- IO流简要总结
- Unable to execute &#39;doFinal&#39; with cipher instance [javax.crypto.Cipher@4e025e0a]
- Eclipse4JavaEE配置Tomcat运行环境
- PhP数据库 Mysql dos命令
- vue框架入门和ES6介绍
- Handler,Looper,MessageQueue流程梳理
- leecode.147. 对无头结点链表进行插入排序