二分图裸题,找他的最大匹配即可

#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 ;
}

最新文章

  1. oracle创建用户并导入dmp文件
  2. 前端框架react研究
  3. 官方文档学习之《start developing iOS apps(swift)》
  4. C# 正则表达式类 Match类和Group类
  5. windwos server 2008下iis7各种操作
  6. SCP和SFTP(都使用SSH。但SCP上传不能中断,而SFTP可以续传,这是最大区别)
  7. CentOs6.5中安装和配置vsftp简明
  8. PHP中文件包含的路径问题
  9. C# 知识回顾 - 装箱与拆箱
  10. PuTsangTo-单撸游戏开发01 Flag与计划
  11. WPF:Webbrowser 捕获关闭事件
  12. 博主自传——蒟蒻的OI之路
  13. 【转存】Vue组件选项props
  14. HanLP代码与词典分离方案与流程
  15. Java NIO 进程间通信
  16. [图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)
  17. linux系统时钟和硬件时钟不一致
  18. zoj 2587 判断最小割的唯一性
  19. 黄聪:mysql搬家,直接复制data文件夹(*.MYD,*.MYI,innodb)出错,无法正常显示
  20. iOS自动化测试需求实现(iOS按键精灵类似)

热门文章

  1. ASP.NET Core中使用GraphQL - 第四章 GraphiQL
  2. NotificationSetUtilDemo【判断APP通知栏权限是否开启,以及如何跳转到应用程序设置界面】
  3. SLAM+语音机器人DIY系列:(三)感知与大脑——6.做一个能走路和对话的机器人
  4. IO流简要总结
  5. Unable to execute &#39;doFinal&#39; with cipher instance [javax.crypto.Cipher@4e025e0a]
  6. Eclipse4JavaEE配置Tomcat运行环境
  7. PhP数据库 Mysql dos命令
  8. vue框架入门和ES6介绍
  9. Handler,Looper,MessageQueue流程梳理
  10. leecode.147. 对无头结点链表进行插入排序