UVa753 A Plug for UNIX

UVA - 753:A Plug for UNIX UVA-753:A Plug for UNIX 来源:UVA 标签:图论->网络流->最大流问题 参考资料: 相似题目: 题目 You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet... 阅读详情

        题意:有n个插座,m个设备,k种适配器用于转接(每种无限多),接口有自己的类型,只有相同的类型才能接上。问最少有多少设备不能接上插座。

        思路:最大流。建图开始有一点困难了,源->设备->(适配器)->插座->汇这样建。。程序复杂了不是那么好调,坑了好久。。其实只要建图建好了,剩下的不是问题。


#include <iostream>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <cstdlib>
#include <string>
#include <memory.h>
#include <vector>
#include <queue>
#include <stack>
#include <ctype.h>
#define INF 1000000000
using namespace std;

int t,n,m,k;
string nn[110];
string mm[110];
string kk1[110];
string kk2[110];
int map[310][310];

int main(){
	cin>>t;
	while(t--){
		memset(map,0,sizeof(map));
		cin>>n;//插座 
		for(int i=1;i<=n;i++){
			cin>>nn[i];
		}
		cin>>m;//设备 
		string dev;
		for(int i=1;i<=m;i++){
			cin>>dev>>mm[i];
		}
		cin>>k;//适配器 
		for(int i=1;i<=k;i++){
			cin>>kk1[i]>>kk2[i];
		}
		//源到设备 
		for(int i=1;i<=m;i++){
			map[0][n+i]=1;
		}
		//设备到插座
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				if(nn[i]==mm[j]){
					map[n+j][i]=1;
				}
			}
		}
		//插座到汇
		for(int i=1;i<=n;i++){
			map[i][n+m+k+1]=1;
		} 
		//设备到适配器 
		for(int i=1;i<=m;i++){
			for(int j=1;j<=k;j++){
				if(mm[i]==kk1[j]){
					map[n+i][n+m+j]=1;
				}
			}
		}
		//适配器之间
		for(int i=1;i<=k;i++){
			for(int j=1;j<=k;j++){
				if(kk1[i]==kk2[j]){
					map[n+m+j][n+m+i]=INF;
				}
			}
		} 
		//适配器到插座
		for(int i=1;i<=n;i++){
			for(int j=1;j<=k;j++){
				if(nn[i]==kk2[j]){
					map[n+m+j][i]=INF;
				}
			}
		} 

		//最大流
		int ans=0;
		int pre[310];
		int a[310];
		int flow[310][310];
		memset(flow,0,sizeof(flow));
		while(true){
			memset(a,0,sizeof(a));
			queue<int> que;que.push(0);
			while(!que.empty()){
				int cur=que.front();que.pop();
				for(int i=0;i<=(n+m+k+1);i++){
					if( !a[i]&&(map[cur][i]>flow[cur][i]) ){
						a[i]=1;
						pre[i]=cur;
						que.push(i);
						if(i==(n+m+k+1))break;
					}
				}
			}
			if(!a[n+m+k+1])break;
			ans++; 
			for(int i=(n+m+k+1);i!=0;i=pre[i]){
				flow[pre[i]][i]++;
				flow[i][pre[i]]--;
			}
		}
		
		cout<<m-ans<<endl;
		if(t)cout<<endl; 
		
	}
	return 0;
}


山东大学软件工程应用与实践——GMSSL开源库(六)——SM9密钥交换协议 2021SC@SDUSC 文章目录基本概念符号及辅助算法SM9密钥交换协议 基本概念 1976年,Diffie和Hellman在其题为《密码学的新方向》的论文中首次给出了公钥密码学的定义,并提出了Diffie-Hellman密钥交换算法。该算法解决了对称密码体制中的密钥分发问题,使得通信双方可以通过公开信道安全地交换共享密钥。 使用SM9通信的双方通过对方的标识和自身的私钥,经过两次或者可选的三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。该密钥可以作为对称密码算法的会话密钥,其中可选步骤用来实 阅读详情

相关推荐

GEO生信数据挖掘实战:从临床信息提取到多维分组可视化(聚类与PCA)

本文以GSE1297数据集为例,详细讲解了GEO生信数据挖掘中临床信息提取与分组构建的实战流程。通过R语言解析样本元数据,利用字符串处理技术从文本中精准构建疾病与对照分组,并强调使用层次聚类图和PCA图进行可视化验证,确保分组合理性与分析可靠性,为后续差异表达等高级分析奠定坚实基础。

cheese的博客 361

uva 753 - A Plug for UNIX(网络流最大流)

题目链接:uva 753 - A Plug for UNIX 题目大意:给出n,有n种插座;给出m,表示有m种电器,给出电器名以及插头的类型;给出k,表示有k种转接器,给出可以桥接的插头和插座。 问说最少有多少个电器没有插座用。 解题思路:网络流,问题是怎样建图。我的做法是将0做为起点s,与所有的插座建立一条边,容量为1,然后再将所有的电器与终点t建立一条边,容量为1;然后将转

不慌不忙、不急不躁 3896

report_delay_calculation/check_timing/report_annotated_parasitics/report_analysis_coverge

如何debug 一颗cell 或一段net 的delay, 常用的办法是用report_delay_calculation 报这颗cell 或这段net, 会得到形式如下的report, 从该report 中可以得到: 表头需要特别关注的是command, 确定report 的对象及加的option; From/To pin: cell 的input pin 和...

diedai7174的博客 1798

A Plug for UNIX UVA - 753

问题 分析 添加两个节点,一个源节点,一个宿节点 解法1:首先用floyd算出所有的转换器之间的连接关系,然后将插头和插座看作点,转换器作为边,容量是INF,连接源点和每个插头,每个插座和宿节点,容量是1,计算最大流量 解法2:不适用Floyd,直接构图,每个出现过的插头或者插座都看作一个节点,将转换器看作边,容量INF,添加源节点,宿节点 解法1: EK : // // Created by Z...

zpf1998的博客 228

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

简单光学 2034

RK3576+IMX415 MIPI摄像头零拷贝显示系统

MIPI CSI-2是嵌入式视觉系统中主流的高速图像传感器接口标准,其核心价值在于低延迟、高带宽与硬件级DMA直通能力。基于V4L2子系统与DRM/KMS驱动栈,可构建从传感器RAW数据到帧缓冲区的零拷贝通路,显著降低CPU负载并提升实时性。该技术广泛应用于工业检测、边缘AI推理前数据接入及多路同步采集等场景。本文以Rockchip RK3576 SoC和索尼IMX415传感器为典型组合,详解MIPI物理层适配、内核驱动集成、GStreamer零拷贝管道搭建及systemd服务化部署,覆盖从硬件信号完整性到

weixin_36047538的博客 216

UVA753 A Plug for UNIX 题解

题目描述: 有 nnn 个插座,mmm 个设备和 k(n,m,k≤100)(n,m,k≤100)k (n, m, k \leq 100)(n,m,k \leq 100)k(n,m,k≤100)(n,m,k≤100)种转换器,每种转换器有无限多。已知每个插座的类型,每个设备的插头类型,以及每种转换器的插座类型和插头类型。插头和插座类型都用不超过 2424 个字母表示,插座只能插到类型名称相同的插座中。 例如,有 44 个插座,类型分别为 A,B,C,D;有 5 个设备,插头类型分别为 B,C,B,B,X;还有

weixin_39412108的博客 236

YOLOv8 + TensorRT 实战:手把手教你用 C++ 实现实时视频流目标检测(附完整项目代码)

本文详细介绍了如何将YOLOv8与TensorRT结合,通过C++实现实时视频流目标检测的全流程。从环境配置、模型转换优化到视频处理架构设计,手把手教你构建高性能检测系统,并附完整项目代码。特别针对Windows平台下的TensorRT模型加速部署提供了实用技巧和性能优化方案。

weixin_29051193的博客 345

第十一章例题 UVa753 A Plug for UNIX

       “完全不知,往日为何,能与我……” 好吧我想说完全不知道为什么我觉得这几天对图论的学习都很有意思,学起来又酷又炫的~ 刘汝佳大神的源码我会放在后面。 /*SE:wn------王宁*/ /*回过头去学二分图匹配的匈牙利算法,才发现原来这一题就是二分图匹配啊 关键的一点就是这个转换器是给带插头的设备使用的 有点,有边——int n,m; 要知道和点连接的边——void add...

JXUFE_ACMer的博客 330

Stata森林图进阶:个性化定制与高级技巧

本文详细介绍了Stata森林图的进阶技巧,包括个性化定制与高级应用。通过meta分析工具如metan命令,用户可以优化字体、颜色、坐标轴等视觉元素,提升森林图的专业性和可读性。文章还提供了黑白印刷设置、高分辨率导出等实用技巧,帮助科研人员制作符合学术出版要求的森林图。

ios99的博客 254

基于STM32L4XX、HAL库的MP2672GD-0000-Z充电芯片驱动程序设计

CHG_STAT_GPIO_Port, CHG_STAT_Pin, // 这些宏应由 CubeMX 生成在 main.h。

zhusl6688的博客 494

A Plug for UNIX UVA - 753(网络流)

A Plug for UNIX UVA - 753 题意&&思路: 基本和这道差不多传送门里的poj1087 AC #include <iostream> #include <vector> #include <cstring> #include <queue> #include <cstdio> #include <map> #include <string> #include <algorithm

qq_45377553的博客 151

C# 上位机之海康工业相机开发(SDK)实战教程

海康工业相机的C#开发核心是基于MVS SDK的“初始化→枚举→连接→采集→释放”流程,其中图像回调处理和格式转换是关键。严格按照SDK文档处理设备类型(网口/USB)和像素格式;及时释放图像资源,避免内存泄漏;错误码是排查问题的重要依据(可参考SDK中的“错误码说明”文档)。掌握这些基础后,可结合机器视觉算法(如OpenCV)实现缺陷检测、尺寸测量等高级功能,构建完整的工业视觉系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3829

UVa 753 A Plug for UNIX

本题通过构建有向图表达适配器转换关系,利用传递闭包得到插座与插头之间的可达性,进而转化为二分图最大匹配问题,使用最大流算法求解。关键点在于正确理解适配器的方向(插头类型到插座类型),并考虑适配器串联的情况。由于数据规模小,BFSBFS求传递闭包和算法均能高效运行。输出结果时注意每个测试用例之间输出空行。该解法清晰且具有通用性,适用于类似设备与接口匹配的问题。

寂静山林 194

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

uva753 A Plug for UNIX

网络流的问题一般都会加S,T! 网络流init参数一般为节点数(包括S,T) maxn为点数+一点(注意可能加点,拆点...) 把插头看做结点,增加S,T链接设备和插头(容量为1),转换器作为边(容量无穷大),套模板。用的是紫书第二种方法,因为更喜欢思维直接一点的方式。 读取输入时用一个ID函数方便了建图。 int ID(const string& s) { ...

dengdouweng1282的博客 140

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

题解 UVA753 【UNIX插头 A Plug for UNIX】

题目简述 有 n 个插座,m 个设备和 k (n, m, k ≤ 100) 种转换器,每种转换器有无限多。已知每个插座的类型,每个设备的插头类型,以及每种转换器的插座类型和插头类型。插头和插座类型都用不超过 2424 个字母表示,插座只能插到类型名称相同的插座中。 例如,有 4 个插座,类型分别为 A,B,C,D;有 5 个设备,插头类型分别为 B,C,B,B,X;还有三种转换器,分别是 B-&g...

weixin_30762087的博客 170

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

UVA 753 A Plug for UNIX

最大流解决 。 设置源点 0,连接所有设备(device) 。设备-插头 -汇点 #include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include &l...

deko2014的博客 95

UVA 753 A Plug for UNIX

n个插板,m台设备,k种转换器,一开始WA了一次,原来是忘了每种转换器的数目时无限多的,建立边时需要注意 和UVA 11045 My T-shirt suits me  有点类似,稍微复杂一点,并且需要查询 匹配再添加相应的边。 大体思路: 将每台设备拆分成两点,建立容量为1的边,并且建立从源点0到该设备拆分点的一条边,容量为1;每个转换器同样拆分建立容量无限的边,然后插板拆分,建立容量为

rootial的专栏 822

POJ 1087 A Plug for UNIX / HDU 1526 A Plug for UNIX / ZOJ 1157 A Plug for UNIX / UVA 753 A Plug for ...

POJ 1087 A Plug for UNIX / HDU 1526 A Plug for UNIX / ZOJ 1157 A Plug for UNIX / UVA 753 A Plug for UNIX / UVAlive 5418 A Plug for UNIX / SCU 1671 A Plug for UNIX (网络流) Description You are in cha...

dipinzhu4111的博客 358

uva 753 A Plug for UNIX

uva 753 A Plug for UNIX 网络流 最大匹配

@fei 477

uva 753 A Plug for UNIX (最大流)

uva 753 A Plug for UNIXYou are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an international mandate to make the free flow

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 1024

UVA, 753 A Plug for UNIX

题意:  4 4个插座,下面是名称,不一定时单字母,可能是字符串  A  B  C  D  5 5个设备,名称 插头  laptop B  phone C  pager B  clock B  comb X  3 3种转换器 ,个数无限  B X  X A  X D  问最少设备不能使用的数量  建立最大流,超级源点连接所有的设备,超级终点连接所有的插座,设备插座

哎哟不错哦的博客 472

UVa 753 A Plug for UNIX EK算法即可

You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an international mandate to make the free flow of information and ideas on the Internet as cumbersome and bureaucratic as po

苦鬼·。 275

UVA753 A Plug for UNIX

C - A Plug for UNIX   You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an international mandate to make the f

Oops的博客 268
上一篇: UVa11045 My T-shirt suits me
下一篇: UVa563 Crimewave
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值