AcWing 379. 捉迷藏(最小路径点覆盖&&匈牙利算法)

这篇具有很好参考价值的文章主要介绍了AcWing 379. 捉迷藏(最小路径点覆盖&&匈牙利算法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AcWing 379. 捉迷藏(最小路径点覆盖&&匈牙利算法),AcWing,算法,图论,深度优先,c++,二分图,匈牙利算法文章来源地址https://www.toymoban.com/news/detail-630852.html

输入样例:
7 5
1 2
3 2
2 4
4 5
4 6
输出样例:
3
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=220;
int n,m,t;
int d[N][N],vis[N];
int match[N];
bool find(int x){
	for(int i=1;i<=n;i++){
		if(d[x][i]&&!vis[i]){
			vis[i]=1;
			if(match[i]==0||find(match[i])){
				match[i]=x;
				return true;
			}
		}
	}
	return false;
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		d[x][y]=1;
	}
	for(int k=1;k<=n;k++)
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				d[i][j]|=d[i][k]&d[k][j];
	int res=0;
	for(int i=1;i<=n;i++){
		memset(vis,0,sizeof vis);
		if(find(i)) res++;
	}
	cout<<n-res;
	return 0;
}

到了这里,关于AcWing 379. 捉迷藏(最小路径点覆盖&&匈牙利算法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • acwing算法提高之图论--最小生成树的典型应用

    本专题用来记录使用prim算法或kruskal算法求解的题目。 题目1 :1140最短网络 C++代码如下, 题目2 :1141局域网 C++代码如下, 题目3 :1142繁忙的都市 C++代码如下, 题目4 :1143联络员 C++代码如下, 题目5 :1144连接格点 C++代码如下,

    2024年04月27日
    浏览(39)
  • acwing算法提高之图论--最小生成树的扩展应用

    本专题用来记录使用最小生成树算法(prim或kruskal)解决的扩展题目。 题目1 :1146新的开始 C++代码如下, 题目2 :1145北极通讯网络 C++代码如下, 题目3 :346走廊泼水节 C++代码如下, 题目4 :1148秘密的牛奶运输 C++代码如下,

    2024年04月16日
    浏览(36)
  • Acwing.91 最短Hamilton路径(动态规划)

    给定一张n个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hamilton路径。Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次。 第—行输入整数n。 接下来n行每行n个整数,其中第i行第j个整数表示点i到j的距离(记为a[i.i])。对于任意的, y,z,数据保证a[x,x]=0,

    2024年02月15日
    浏览(42)
  • 软件测试 白盒测试用例设计方法动态 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)基本路径测试法

    白盒设计方法分为静态和动态。 静态的白盒测试方法有桌面检查、代码审查、代码走查和代码扫描工具。 动态的白盒测试方法有逻辑覆盖法和基本路径测试法。 2.1 逻辑覆盖 逻辑覆盖法有语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。 例1 将上

    2024年02月02日
    浏览(40)
  • 【第二十三课】最小生成树:prime 和 kruskal 算法(acwing858,859 / c++代码 )

    目录 前言 Prime算法--加点法 acwing-858  代码如下 一些解释  Kruskal算法--加边法 acwing-859 并查集与克鲁斯卡尔求最小生成树  代码如下 一些解释   之前学最短路的时候,我们都是以有向图为基础的,当时我们提到如果是无向图,只要记得两个顶点处都要加边就好了。 而在最小

    2024年02月21日
    浏览(42)
  • 【LeetCode热题100】打卡第23天:最小覆盖&子集

    大家好,我是知识汲取者,欢迎来到我的LeetCode热题100刷题专栏! 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。在此专栏中,我们将会涵盖各种

    2024年02月09日
    浏览(33)
  • 【软件测试】路径覆盖

    题目要求: a)       流程图如下: b)    Consider test cases ti = (n = 3) and t2 = ( n = 5). Although these tour the same prime paths in printPrime(), they don\\\'t necessarily find the same faults. Design a simple fault that t2 would be more likely to discover than t1 would Answer:如果将MAXPRIMES的值设为4那么n=5时可能会出现数组

    2024年01月16日
    浏览(37)
  • 全覆盖路径规划——ccpp

    在路径规划方法中,有一种是点到点的路径规划,这一类例如dijstra,或者A*这类算法,关注的是点到点的最短路径,偏向一种最优的选择。还有一种是全覆盖是路径规划,这一类路径规划关注的是遍历整个地图,例如扫地机器人之类的,他们的主要目的就是遍历,针对这一需

    2024年02月05日
    浏览(27)
  • 无人机覆盖路径规划综述

    摘要:覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来,无人机已被应用于涉及地形覆盖的多个应用领域,如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方法相关的现有研究

    2024年02月03日
    浏览(34)
  • 白盒测试(路径测试就是设计足够的测试用例,覆盖程序中所有可能的路 径、判定覆盖、条件覆盖)

    重点:白盒测试(路径覆盖、判定覆盖、条件覆盖) ​​​​​​​ 包含了分支覆盖,但与谓词覆盖无关。要求走完所有的路径。如下图,设计测试用力时,有四条路径,需要走完这四条路径。 软件测试的目的: GlenMyers给出的软件测试目的: 1.测试是一个为了发现错误而执

    2023年04月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包