POJ 1087 A Plug for UNIX

POJ-1087-A Plug for UNIX POJ-1087-A Plug for UNIX http://poj.org/problem?id=1087 n1个插座,n2个电器及其对应的插座,n3个转化器,前一个插座可以转化为后一个插座,问最少有多少设备没有插座用,转换器数量不限 最大流,源点向插座建边,容量为1,电器向汇点建边,容量为1,相应的插座和电器连边,容量为1,前一个插座转化为后一个插座,后一个插座向前一个插座建边,容量为 阅读详情

二分图匹配,主要在于建图,貌似建得有点丑。。把能插座X上能插入的插头(包括通过转化器的)通过dfs全找出来,图就建好了,我是用map将字符串映射成数组下标的。

二分图一边是插座,一边是插头。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>

using namespace std;

const int maxN=110;
map<string,int> ind;
int n,m,k,cnt,link[maxN];
string plug[maxN],rec[maxN],name,s1,s2;
bool G[maxN*10][maxN*10],g[maxN*10][maxN*10],used[maxN],vis[maxN*10];

void build(int i,int u){
    for(int v=0;v<cnt;v++)
        if(G[u][v]&&!vis[v]){
            g[i][v]=true;
            vis[v]=true;
            build(i,v);
        }
}

bool dfs(int u){
    for(int v=0;v<n;v++){
        int uu=ind[plug[u]],vv=ind[rec[v]];
        if(g[vv][uu]&&!used[v]){
            used[v]=true;
            if(link[v]==-1||dfs(link[v])){
                link[v]=u;
                return true;
            }
        }
    }
    return false;
}

int main(){
#ifndef ONLINE_JUDGE	          
	freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
#endif
    while(cin>>n){
        cnt=0;
        memset(G,false,sizeof(G));
        memset(g,false,sizeof(g));
        for(int i=0;i<maxN*10;i++) G[i][i]=true;
        for(int i=0;i<n;i++){
            cin>>rec[i];
            if(!ind.count(rec[i])) ind[rec[i]]=cnt++;
        }
        cin>>m;
        for(int i=0;i<m;i++){
            cin>>name>>plug[i];
            if(!ind.count(plug[i])) ind[plug[i]]=cnt++;
        }
        cin>>k;
        for(int i=0;i<k;i++){
            cin>>s1>>s2;
            if(!ind.count(s1)) ind[s1]=cnt++;
            if(!ind.count(s2)) ind[s2]=cnt++;
            G[ind[s2]][ind[s1]]=true;
        }
        for(int i=0;i<cnt;i++){
            memset(vis,false,sizeof(vis));
            build(i,i);
        }
        //for(int i=0;i<cnt;i++){
          //  for(int j=0;j<cnt;j++)
            //    cout<<g[i][j]<<' ';
            //cout<<endl;
        //}
        memset(link,-1,sizeof(link));
        int res=0;
        for(int i=0;i<m;i++){
            memset(used,false,sizeof(used));
            if(dfs(i)) res++;
        }
        cout<<m-res<<endl;
    }
    return 0;
}


【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析 本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。 阅读详情

相关推荐

S32K144驱动TPS929120避坑实录:从原理图设计到PWM调光漏电流的完整解决流程

本文详细解析了S32K144驱动TPS929120在车规LED驱动中的常见问题与解决方案,重点解决了PWM调光漏电流的行业难题。从原理图设计、FlexWire通信到软件调试,提供了一套完整的工程化避坑指南,特别针对车规MCU应用中的温度漂移、地址冲突等痛点给出了实用建议。

weixin_30872157的博客 561

poj 1087 A Plug for UNIX(最大流)

A Plug for UNIX Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12979   Accepted: 4328 Description You are in charge of setting up the press room for the inaug

WEYuLi的专栏 842

西门子机床数据采集实战:从828D到840DSL的CNC设备联网与实时监控

本文深入探讨了西门子机床数据采集的实战方案,重点解析了从828D到840DSL等CNC设备如何实现免授权、低成本联网与实时监控。文章通过对比不同型号系统的数据接口差异,提供了详细的配置步骤、核心数据点清单以及避坑指南,旨在帮助工厂技术人员经济高效地挖掘机床数据价值,提升生产管理效率。

weixin_29181861的博客 1332

753 - A Plug for UNIX (最大流或二分图匹配)

紫书上网络流部分的第一道例题,  刚刚学了最大流,还没有理解二分图匹配 , 这里就只说一下我用最大流是怎么做的吧 。 我们可以假想一个源点,一个汇点,然后对于每一个设备的插头,从源点连一条线,对于每个插座,连一条线到汇点,且容量都为1 。

AC_Arthur的专栏 1036

【SLAM论文笔记】SplaTAM论文小结

参考方法有ORB-SLAM3、Point-SLAM、NICE-SLAM、Kintinuous、ElasticFusion,测试数据集有ScanNet++、Replica、TUM-RGBD、Orig-ScanNet,SpaTAM并未在全部对比均为第一,表现最佳的是在ScanNet++、Replica,ScanNet++上SplaTAM方法位姿精度比第2名ORB-SLAM3高两个数量级,在TUM。上无稀疏SLAM结果,NICE-SLAM与Point-SLAM占优。SplaTAM基本做到了SOTA。

持之以恒 1011

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1525

A Plug for UNIX(网络流模板题)

只是单纯的为了存模板 = =! #include #include #include #include #include #include #include #include #include #include using namespace std; const int INF = 1111111111; const int maxn = 444; const int maxd = 1111

花月阁 704

Qt C++ bridge模式(桥)

Bridge模式使得抽象和实现能够相对独立。 bridge.h #pragma once #include class CImplementor { public: virtual void operateImp() = 0; }; class CRectImplementor : public CImplementor { public: CR

thinkme2010的专栏 1894

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 free flow of information and id

20164225的博客 405

(ZOS-API)Matlab控制ZEMAX软件调整光学系统某镜面位姿

所用软件的版本:MatlabR2022a, Zemax OpticStudio2024R1交互扩展功能,Zemax和可以同时打开,操作会比较方便在ZEMAX软件中,调整次镜位置通常有两种方法:1.在次镜前后各添加一个坐标间断面,并修改其“偏心X”“偏心Y”等参数来调整次镜的位姿;2.或者直接在次镜属性选项中设置相关数值。这两种方法对Zernike系数的采集结果无显著影响。

ecilifurt的博客 912

Labview如何0基础自学快速入门?(纯干货帖)

讲解了如何学习Labview,Labview如何0基础入门,自学Labview的方法。什么都不会如何学好Labview的分享,欢迎关注文章~文章提供《Labview宝典》pdf下载,和《Labview虚拟仪器数据采集与通信控制》pdf下载

关注我,更多技术问题欢迎私聊~ 2万+

poj1087 A Plug for UNIX

A Plug for UNIX Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12438 Accepted: 4136 Description You are in charge of setting up the press room for the inaugur

程序猿之路 3429

手把手教你学PCIE--固件与BIOS配置 - BIOS设置对PCIe性能的影响

本文详细分析了BIOS设置对PCIe性能的影响,并提供了优化建议。通过合理调整链路参数、功耗管理策略和高级功能配置,可以显著提升系统的性能和稳定性。本文将进一步分析BIOS设置如何影响PCIe设备的性能,并提供优化建议。BIOS(或UEFI)是系统启动时的第一个控制层,其设置直接决定了PCIe设备的工作状态和性能表现。BIOS中的功耗管理选项(如C-States、P-States)会影响PCIe链路的低功耗模式(L0s/L1)。MSI/MSI-X中断具有更高的性能和更好的可扩展性,应作为首选方案。

MHD0815的博客 997

POJ 1087 —— A Plug for UNIX

原题:http://poj.org/problem?id=1087 题意:n个插座,m个电器及其对应的插座,k种转化器,转换器(u,v)表示可以把原本需要u插座的电器转接到v插座上,问最少有多少设备没有插座用,每种转换器数量不限;; #include #include #include #include #include #include #include #define in

0x3f3f3f3f 1029

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

POJ-1087 A Plug for UNIX

题目链接:POJ-1087 A Plug for UNIX 题意 有$n$个插座,m个用电器,每个用电器都对应一个插头(插头类型与插座相同则可插入充电),$k$种转换器(每种数量无限),$s_1$ $s_2$表示一个$s_2$类型插座可以转换成一个$s_1$类型插座,问最少有几个用电器无法同时充电。 思路 可建图用最大流求解,源点指向$n$个插座,$m$个用电器指向汇点,插座...

weixin_30507269的博客 92

数学建模模型总结

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

poj1087 - A Plug for UNIX

想看更多的解题报告: http://blog.youkuaiyun.com/wangjian8006/article/details/7870410                                   转载请注明出处:http://blog.youkuaiyun.com/wangjian8006 题目大意:这题题目意思实在太难懂,不过题目意思搞清楚之后还是比较好做的 在这个题目里有两种物品,一个

贰圣 3175

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ - 1087 A Plug for UNIX (最大流)

POJ - 1087 题意:写这种题目,(有翻译情况下)我的看题时间 = 想 + 敲代码,生无可恋.jpg 一个房间里有很多插座,一种类型的插座只能容纳一种类型的插头,还有一些适配器,使不同类型的插头可以插到某个插座上,适配器还可以嵌套使用,虽然适配器种类不多,但是可以无限提供,使尽可能多的用电器插上插座,那么最后会有几个用电器无法接上插头 思路:明显的,插座和插头一一对应,连边,cap =

shinimashzi 359

POJ-1087 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 free flow of information and i...

Plus Ultra! 430

Poj 1087 A Plug for UNIX 最大流

Poj 1087 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 ...

weixin_30547797的博客 167

POJ - 1087 (A Plug for UNIX)

题意:一个房间里有 n 个插座,现在有 m 个插头送过来匹配,还有 k 个转换器,一种插头匹配一种插座,转换器的格式 A B 表示把 A类型的插头变成B类型的插头,问 m 个插头最少剩几个不能匹配成功; 分析:网络流建图,我们用map给不同类型的插头插座编号,并设最大编号为res,设一种插头插座的编号为 u,则 2*u-1 代表 插头,2*u代表插座, ① 0 为 源点,由 0 向 m...

Joker & Liar的博客 255

Poj 1087 A Plug For UNIX

2Y 1WA于以为插销只是一个字符 2Y 0ms Zoo 的隐藏boss读的题 自己建的模,还不错 虚拟总源点,总汇点 然后离散化所有的插座代号 有的插座作为汇点 有的电器作为源点 转换器的边流量为INF 以上 #include #include #include #include #include using namespace std; #define N 510 #de

On my fighting way 681

[POJ1087]A Plug for UNIX

题目描述Description 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 m...

XIN13261615514的博客 130

POJ 1087 A Plug for UNIX(最大流)

POJ 1087 A Plug for UNIX(最大流) http://poj.org/problem?id=1087 题意:        有m个设备需要插座(给出了每个设备需要的插座型号),但是现在只有n个插座(任意两个插座类型不相同,因为题目说每种类型插座就一个),且给你k个转换器(转换器(u,v)可以使得插座v变成插座u),问你最多有几个设备没有插座可用? 分析:

code 1441

poj 1087 A Plug for UNIX

题目链接:poj 1087 这道题,感觉考得是阅读理解啊,题目又臭又长。。。。   参考题意:https://blog.youkuaiyun.com/qq_38367681/article/details/81392291 题意:在一个会议室里有n种插座,每种插座一个,每个插座只能插一种以及一个电器(或者适配器),有m个电器,每个电器有一个插头需要插在相应一种插座上,不是所有电器都能在会议室找到相应插...

Jiandong 293
上一篇: POJ 1064 Cable master
下一篇: POJ 1144 Network
E_Windrunner
博客等级 码龄15年 7粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值