问题 D: 过山车(二分图)

news2024/11/25 6:30:18

首先,绘制二分图

核心思想:

对于每一个左边端点,查找每个右边端点

右边端点无对象,则暂时作为该左端点的对象

右边端点有对象递归查询其对象是否有其他选择

(1.若有其他选择,选择其他,2.当前左端点作为当前右端点的对象)

AC代码:

#include<iostream>
#include<string.h>
using namespace std;
// 组合关系图
int map[509][509] = { 0 };

// 标记数组
int visit[509][509] = {0};

// 右边对象数组
int right1[509] = { 0 };

int dfs(int x);
int num = 0;		

int wm = 0, m = 0;
int main()
{
	
	while (scanf("%d", &num) && num != 0)
	{
		scanf("%d%d", &wm, &m);
		
		// 输入组合
		for(int i=0;i<num;i++)
		{
			int tl = 0, tr = 0;
			scanf("%d%d", &tl,& tr);
			map[tl][tr] = 1;
		}

		int ans = 0;

		// 初始化右侧对象
		memset(right1, 0, sizeof(right1));

		// 遍历左侧元素
		for (int i = 1; i<=wm; i++)
		{
			// 初始化访问限制,为下一次DFS作准备
			memset(visit, 0, sizeof(visit));
			if (dfs(i))ans++;
		}
		cout << ans << endl;
		memset(map, 0, sizeof(map));
	}

	return 0;
}
int dfs(int x)
{
	// 遍历右侧元素
	for (int i = 1; i <= m; i++)
	{
		// 有连接且,未被访问
		if (map[x][i] && !visit[x][i])
		{
			//标记
			visit[x][i] = 1;

			//询问右侧有无对象,
			//若有,递归查询对应对象是否有其他选择
			if (!right1[i] || dfs(right1[i]))
			{
				right1[i] = x;
				return 1;
			}
		}
	}
	return 0;
}//   过山车

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1206725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最全synchronized锁升级过程

一、前言 在面试题中经常会有这么一道面试题&#xff0c;谈一下synchronized锁升级过程&#xff1f; 之前背了一些&#xff0c;很多文章也说了&#xff0c;到底怎么什么条件才会触发升级&#xff0c;一直不太明白。 实践是检验真理的唯一标准&#xff0c;今天就和大家一起实…

uniapp+vite+vue3开发跨平台app,运行到安卓模拟器调试方法

因为没有使用hbuilder开发uniapp&#xff0c;而是使用了vscode和vite来开发的&#xff0c;所以怎么将这个程序运行到安卓模拟器调试开发呢&#xff1f;其实方法很简单&#xff0c;使用android studio创建一个模拟器或者其他mumu模拟器&#xff0c;然后将项目使用hbuilder打开&a…

空间数据结构笔记:层次包围盒树(Bounding Volume Hierarchy Based On Tree)

1 总览 层次包围盒树&#xff08;BVH树&#xff09;是一棵多叉树&#xff0c;用来存储包围盒形状。它的根节点代表一个最大的包围盒&#xff0c;其多个子节点则代表多个子包围盒。为了统一化层次包围盒树的形状&#xff0c;它只能存储同一种包围盒形状 2 AABB包围盒树&#x…

Web安全:Vulfocus 靶场搭建.(漏洞集成平台)

Web安全&#xff1a;Vulfocus 靶场搭建.&#xff08;漏洞集成平台&#xff09; Vulfocus 是一个包含了多种漏洞靶场的镜像。每个靶场都有具体的漏洞环境和攻击点。Vulfocus 的靶场包括了 Web 安全漏洞、系统安全漏洞、网络安全漏洞、密码学漏洞等多种类型。通关这个靶场我们可以…

日出日落的气象意义:探索日出日落查询API在天气预测中的应用

引言 当谈论气象意义时&#xff0c;日出和日落都是天文现象中的重要组成部分。它们不仅是自然界美妙的展示&#xff0c;更对天气预测有着深远的影响。而如今&#xff0c;随着科技的发展&#xff0c;日出日落查询API在天气预测中的应用正在变得越来越重要。 日出和日落的气象意…

Q learning

Q learning Q Learning是强化学习算法中的一个经典算法。在一个决策过程中&#xff0c;我们不知道完整的计算模型&#xff0c;所以需要我们去不停的尝试。 算法流程 整体流程如下&#xff1a; Q-table 初始化 第一步是创建 Q-table&#xff0c;作为跟踪每个状态下的每个动作…

linux 系统下文本编辑常用的命令

一、是什么 Vim是从 vi 发展出来的一个文本编辑器&#xff0c;代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 简单的来说&#xff0c; vi 是老式的字处理器&#xff0c;不过功能已经很齐全了&#xff0c;但是还是有可以进步的地方 而…

苹果手机通话记录怎么恢复?这3个方法就足够!

通话记录是手机中的重要数据之一&#xff0c;它记录了用户与联系人的通话信息&#xff0c;包括通话时间、通话时长、通话号码等等。 有时候&#xff0c;我们可能不小心删除了通话记录&#xff0c;或者想找回之前的通话记录以此来回忆起一些事情。那么&#xff0c;苹果手机通话…

全自动内衣洗衣机什么牌子好?家用迷你洗衣机推荐

内衣洗衣机是一种专为内衣、丝绸和其他精细衣物设计的家电&#xff0c;它们能够温柔地清洁和保护这些特殊材质的衣物。代替了传统的手洗&#xff0c;能够大大节约我们不少的宝贵时间。但在市场上&#xff0c;有各种型号和功能的内衣洗衣机&#xff0c;如何挑选到一款适合自己的…

内衣洗衣机怎么选?小型洗衣机质量排名

现在大部分的家庭都拥有高质量、大品牌、大容量的洗烘套装来满足一家人的日常洗烘需要&#xff0c;像内衣这种贴身的衣物&#xff0c;需要手洗或者用专用的内衣洗衣机&#xff0c;这样才可以最大程度地减少细菌的交叉感染&#xff0c;提高我们贴身衣物的卫生&#xff0c;那么怎…

深入浅出理解Android开发框架中的MVC、MVP和MVVM模式

✍️作者简介&#xff1a;沫小北/码农小北&#xff08;专注于Android、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a;沫小北/码农小北 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&…

【React】Antd 组件基本使用

Antd 组件基本使用 第一步 安装并引入 antd 包 使用命令下载这个组件库 yarn add antd在我们需要使用的文件下引入&#xff0c;我这里是在 App.jsx 内引入 import { Button } from antd现在我们可以在 App 中使用 Button 组件 <div>App..<Button type"prima…

成都瀚网科技有限公司抖音带货的靠谱之选

随着电子商务的飞速发展&#xff0c;越来越多的商家开始利用网络平台进行产品销售。这其中&#xff0c;抖音作为一款广受欢迎的短视频平台&#xff0c;其带货能力不容小觑。然而&#xff0c;在选择抖音带货服务商时&#xff0c;很多商家会面临困惑&#xff1a;成都瀚网科技有限…

易基因:MeRIP-seq+ChIP-seq等揭示m6A甲基化在休眠期转录休眠调控中的潜在功能 | 发育研究

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 发育通常被认为是遗传程序的顺序展开&#xff0c;复杂程度不断提高&#xff0c;并按固定轨迹随时间进行。然而&#xff0c;调整发育时间可以提高在不利条件下的存活率。在哺乳动物中&…

Istio学习笔记-部署模型

参考&#xff1a;Istioldie 1.18 / 部署模型 当您将 Istio 用于生产环境部署时&#xff0c;需要确定一系列的问题。 网格将被限制在单个集群中还是分布在多个集群中&#xff1f; 是将所有服务都放置在单个完全连接的网络中&#xff0c;还是需要网关来跨多个网络连接服务&#…

开源会议通知H5页面邀请函制作源码系统+自动翻页 带完整的搭建教程

现如今&#xff0c;线上活动越来越频繁&#xff0c;而会议邀请函也成为了活动组织者不可或缺的工具。然而&#xff0c;传统的邮件、短信等方式发送邀请函已经无法满足现代人的需求。因此&#xff0c;开发一款现代化的、功能丰富的会议邀请函系统势在必行。下面源码小编将来给大…

检索搜索信息能力

&#xff08;一&#xff09;搜索工具的选择 谷歌 > 微信搜一搜 > 抖音等短视频 > 百度 &#xff08;二&#xff09;搜索方式 一&#xff0c;搜索内容的分类 信息类学习类工具类 二&#xff0c;谷歌浏览器的搜索技巧 1、“搜索内容” 限定完整出现的词 如下图搜…

酒店数据抓取

好的&#xff0c;以下是使用Haskell编写的一个简单的网页爬虫程序&#xff0c;用于抓取Booking.com和云地接酒店数据的示例。这个程序使用HTTP代理&#xff0c;代理信息为proxy_host: jshk.com.cn。 import Network.HTTP import Network.HTTP代理 import Network.URImain :: I…

二蛋赠书八期:《Java物联网、人工智能和区块链编程实战》

前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c;每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此&#xff0c;我非常感激大家一直…

【uniapp】确认弹出框,选择确定和取消

代码如下&#xff1a; <view style"display: flex; justify-content: space-around;"><button class"button" click"submit">t提交</button> </view>submit(){let thatthisuni.showModal({title: 提示&#xff1a;,con…