uva753 - A Plug for UNIX 网络流 插头匹配

Python脚本自动化芯片设计?PyAether实战教程带你玩转EDA 本文通过PyAether实战教程,详细介绍了如何利用Python脚本实现芯片设计自动化。内容涵盖环境搭建、核心对象模型解析,并重点演示了原理图自动生成、参数化单元创建及设计验证流程集成,帮助EDA工程师从重复性手动操作中解放,显著提升设计效率与一致性。 阅读详情

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 ideas on the Internet as cumbersome and bureaucratic as possible.


Since the room was designed to accommodate reporters and journalists from around the world, it is equipped with electrical receptacles to suit the different shapes of plugs and voltages used by appliances in all of the countries that existed when the room was built. Unfortunately, the room was built many years ago when reporters used very few electric and electronic devices and is equipped with only one receptacle of each type. These days, like everyone else, reporters require many such devices to do their jobs: laptops, cell phones, tape recorders, pagers, coffee pots, microwave ovens, blow dryers, curling irons, tooth brushes, etc. Naturally, many of these devices can operate on batteries, but since the meeting is likely to be long and tedious, you want to be able to plug in as many as you can.


Before the meeting begins, you gather up all the devices that the reporters would like to use, and attempt to set them up. You notice that some of the devices use plugs for which there is no receptacle. You wonder if these devices are from countries that didn't exist when the room was built. For some receptacles, there are several devices that use the corresponding plug. For other receptacles, there are no devices that use the corresponding plug.


In order to try to solve the problem you visit a nearby parts supply store. The store sells adapters that allow one type of plug to be used in a different type of outlet. Moreover, adapters are allowed to be plugged into other adapters. The store does not have adapters for all possible combinations of plugs and receptacles, but there is essentially an unlimited supply of the ones they do have.

Input 

The input will consist of several case. The first line of the input contains the number of cases, and it's followed bya blank line. The first line of each case contains a single positive integern ( $1 \leŸ n \leŸ 100$) indicating the number of receptacles in the room. The nextn lines list the receptacle types found in the room. Each receptacle type consists of a string of at most 24 alphanumeric characters. The next line contains a single positive integerm ( $1 \leŸ m \leŸ 100$) indicating the number of devices you would like to plug in. Each of the nextm lines lists the name of a device followed by the type of plug it uses (which is identical to the type of receptacle it requires). A device name is a string of at most 24 alphanumeric characters. No two devices will have exactly the same name. The plug type is separated from the device name by a space. The next line contains a single positive integerk ( $1 \leŸ k \leŸ 100$) indicating the number of different varieties of adapters that are available. Each of the nextk lines describes a variety of adapter, giving the type of receptacle provided by the adapter, followed by a space, followed by the type of plug.

There's a blank line between test cases.

Output 

For each case, print a line containing a single non-negative integer indicating the smallest number of devices that cannot be plugged in. Print a blank line between cases.

Sample Input 

1

4
A
B
C
D
5
laptop B
phone C
pager B
clock B
comb X
3
B X
X A
X D

Sample Output 

1


  uva的题就是坑。。题目这么长。。英语烂的伤不起。。

  给你N个插头,可能一种插头有多个。M个用电器和用电器需要匹配的插头。K种适配器(每种有无限个),可以把后面那种插头转化成前面那种(一开始就没注意这,以为是前面转化到后面。。无语。。)

  每种拥有的插头、需要的插头、适配器都要设为一个点。建立一个起点0,连接拥有的每种插头,容量是那种插头的数量。建立一个终点1,连接用电器需要的每种插头,容量是每种插头需要的个数。再把适配器的两种类型连接,容量为INF。

  这道题因为不知道总共有多少个东西,最简单的方法是用MAP,输入串后如果不在MAP里就加入作为新的点。

  还有数组要设400+。。。一开始没注意RE了。因为可能出现400个完全不同的东西。。


#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
#define INF 0x3f3f3f3f
#define MAXN 410
using namespace std;
int T,N,M,K,P;
int flow[MAXN][MAXN],cap[MAXN][MAXN],a[MAXN],p[MAXN];
map<string,int> Map;
int Edmonds_Karp(){
    queue<int> q;
    int f=0,s=0,t=1;
    memset(flow,0,sizeof(flow));
    while(1){
        memset(a,0,sizeof(a));
        a[s]=INF;
        q.push(s);
        while(!q.empty()){
            int u=q.front();
            q.pop();
            for(int v=0;v<=P;v++) if(!a[v]&&flow[u][v]<cap[u][v]){
                a[v]=min(a[u],cap[u][v]-flow[u][v]);
                p[v]=u;
                q.push(v);
            }
        }
        if(!a[t]) break;
        for(int u=t;u!=s;u=p[u]){
            flow[p[u]][u]+=a[t];
            flow[u][p[u]]-=a[t];
        }
        f+=a[t];
    }
    return f;
}
int main(){
    freopen("in.txt","r",stdin);
    scanf("%d",&T);
    while(T--){
        Map.clear();
        memset(cap,0,sizeof(cap));
        char str[30],t[30];
        P=1;
        scanf("%d",&N);
        for(int i=0;i<N;i++){
            scanf("%s",str);
            if(!Map[str]) Map[str]=++P;
            int v=Map[str];
            cap[0][v]++;
        }
        scanf("%d",&M);
        for(int i=0;i<M;i++){
            scanf("%s%s",t,str);
            if(!Map[str]) Map[str]=++P;
            int u=Map[str];
            cap[u][1]++;
        }
        scanf("%d",&K);
        for(int i=0;i<K;i++){
            scanf("%s%s",t,str);
            if(!Map[t]) Map[t]=++P;
            if(!Map[str]) Map[str]=++P;
            int v=Map[t],u=Map[str];
            cap[u][v]=INF;
        }
        printf("%d\n",M-Edmonds_Karp());
        if(T) puts("");
    }
    return 0;
}


10.2 在新能源、储能及电网节点的应用实践 构网型变流器技术在电力系统中的应用进展 构网型变流器技术正从理论研究走向规模化工程应用,为新能源并网提供主动支撑能力。该技术在光伏电站采用"部分构网"混合架构,由构网单元实现黑启动和弱网稳定;在风电场利用叶轮动能提供惯量响应。储能系统是理想的构网载体,可提供快速调频和动态电压支撑。在电网节点,构网型STATCOM可增强弱电网电压稳定性,大容量变流器可替代传统调相机。当前面临标准滞后、宽频振荡风险等共性挑战,需在可靠性、经济性间取得平衡。系统级协调控制和精确阻抗建模是应用成功的关键。 阅读详情

相关推荐

音视频入门:H264、H265概念总结

添加链接描述 什么是H.264与H.265 H.264与H.265都是视频压缩格式,由于视频本身的码流太大,所以需要经过压缩然后再通过网络进行传输。H.264是目前比较主流的压缩算法,像视频会议设备一般都采用这个编码格式。基础的H.264可以支持在1M带宽下传输720P30帧/秒的图像;H.264 HIGH PROFILE支持在512K带宽下传输720P30帧/秒的图像。 H.265是比较新的压缩算法,可以更一步提高压缩比,随着我们现在生活中出现的视频格式越来越大(比如现在基本都是1080P甚至4K的显示器

weixin_40673765的博客 8936

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

AI学习记录 - transformer的位置编码的理解

先看三角函数为什么可以,我们看下三角函数的图像先提一个点:位置信息肯定是唯一的,或者是在很长的文字当中,起码重复度不会太高,x轴代表位置,y轴代表叠加上去的值1、假设只使用一个三角函数sin,我们将第2和第14两个位置输入到sin,他们的值很像,在神经网络的训练中,很容易把第2个位置和第14个位置当成是一个位置,不满足我们上面说到的要求位置唯一性。sin2sin14。

weixin_43954090的博客 1412

POJ-1087(最大流+EK算法)

A Plug for UNIX POJ-1087 这一题也是最大流的应用,但是题目有点绕。 题目的意思就是有插座和插头,只不过这里使用设备取代了插头。只有插座和设备进行匹配了。 题目要注意的是那个适配器的问题,适配器给出的是 A,B 的模式,但是这里并不是指A可以取代B而是指B可以取代A,所以建图的时候要注意这个细节。 还有一个问题就是题目的规模是未知的,所以maxn尽量设置的较大,这...

252

存内计算路线再获加持,清华存内芯片登Science

通过这种方法,可以比较有效的控制二氧化铪忆阻层中的微观变化,以及内部的温度和电场,使得器件具有非常优异的电学特性,而且可以在工厂里大规模生产,推动了高性能忆阻器阵列的诞生。团队搭建了全硬件构成的完整存算一体系统,如下图7所示,在系统里集成了多个忆阻器阵列,并在该系统上高效运行了卷积神经网络算法,成功验证了图像识别功能,证明了存算一体架构全硬件实现的可行性,并且成功实现了以更小的功耗和更低的硬件成本完成复杂的计算[6]。根据测试,在一般神经网络中权重更新的最后阶段,调整步长非常接近0,如图9(C)所示,

PXX12345678的博客 1555

自定义css属性实现渐变边框动画

自定义cs属性实现渐变边框动画

lemon的博客 1875

UVA 753 A Plug for UNIX

题意:输入n,有n个插座,下面n行是每个插座的类型(最后24个字母来表示一个插座,没有空格放心用scanf,但是有可能插座会相同,但是这个没有什么影响)          输入m,有m个电器,下面m行每行两个单词分别是电器的名字和插头类型(同样24个字母单词内没空格,两个单词空格隔开)          输入k,有k个转换器,下面k行每行两个单词,分别表示转换器的入口类型和插头类型

论菜鸟的自我修养。。。 1273

告别电机啸叫!手把手教你配置TMC5160的StealthChop2静音模式(附参数自整定避坑指南)

本文详细介绍了如何通过配置TMC5160的StealthChop2模式彻底消除3D打印机电机噪音。从硬件准备到参数自整定,再到高级调优与异常处理,手把手教你实现实验室级别的静音效果,提升打印质量和使用体验。

weixin_33724659的博客 487

uva 753 A Plug for UNIX

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

@fei 477

OpenCV计算机视觉实战(3)——计算机图像处理基础

本文全面介绍了计算机视觉和数字图像处理的基础知识。从最基本的像素概念入手,详细讲解了图像在计算机中的表示方式,包括RGB、CMYK等色彩空间的工作原理及其应用场景。还系统分析了常见图像和视频文件格式的特点,梳理了计算机图像处理技术的发展历程,并重点介绍了OpenCV这一强大的开源计算机视觉库的功能与应用领域。

qq_30167691的博客 1740

WCK Operation (WCK 操作)

LPDDR6 SDRAM采用双时钟系统(WCK和CK),其中WCK频率是CK的两倍。为确保数据正确传输,需通过WCK2CK同步操作使两种时钟对齐。LPDDR6支持两种同步模式:Auto-sync off模式和WCK Always on模式,可通过MR22寄存器选择。同步操作由特定命令(Read/Write/MRR等)触发,需在满足特定时序参数(如tWCKENL、tWCKPRE等)后完成。同步前必须完成WCK2CK训练,且不同操作(读取/写入/CAS)有各自的时序要求。该机制确保数据在正确时钟相位下传输,是L

李家小院 649

[最大流] POJ1087 ZOJ1157 A Plug for UNIX

看了几天最大流,还是最喜欢Dinic,比较清晰,下午写了一般预流推进,结构也比较简单,网络流算法真是多。 自己写的第一道网络流,WA了不知道多少次,果然是建图错了,算法没写错,果然网络流建完图就AC一半。 刚开始建图的时候一直把设备的名字无视掉了,以为没用,其实不然。因为一个设备显然只能插一个插头,所以用设备来连接汇点,中间的各种边不管是INF还是其他的都要受到最后设备的容量(1)约束,这样才

穹妹的家 590

AI原生应用架构师指南:系统化思维框架解析

随着ChatGPT、Stable Diffusion等AI技术的普及,「AI原生应用」(AI-Native Application)已从概念走向实践。传统应用以「功能逻辑」为核心(比如用代码写死的购物车规则),而AI原生应用以「数据+模型」为核心(比如根据用户行为动态推荐商品)。本文的目的是为架构师提供一套系统化思维框架如何区分「伪AI应用」和「真AI原生应用」?数据、模型、业务场景三者如何协同设计?架构师需要关注哪些关键技术节点?如何避免「为了AI而AI」的陷阱?

AI Python 编程之道的博客 491

UVA 753 A Plug for UNIX 网络流 插头匹配

题目:有n个不同插口,每种插口有一个名字,现在要为m台设备安排插头,每台设备对应一种插口,当然,你也可以去商店买插口适配器来用,商店有k种适配器,每种适配器能够接受一种的插头,并插在另一种插口上,适配器随便你买。现在问你这样还有多少太设备没法插上电... 这题的构图还算不是很复杂,但是我做了半天...因为没有看到适配器可以有多个,我以为只有一个。太坑。 建图为 超源点->设备->插头->超汇点

水果君の日常 2508

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

不慌不忙、不急不躁 3896

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

UVA 753 A Plug for UNIX (网络流二分图匹配)

题意:有n个插座,m个插头,k种不同的转换器,只能相同名字的插头和插座才能匹配,问最少剩余多少个插头无法匹配。 分析:用floyd算出使用使用转换器之后插头 i 能否插到插座 j 上,源点和插头连容量为1的边,插座和汇点连容量为1的边,插头和插座连容量为inf或者为1的边都行。然后跑一个网络流,本质上是二分图匹配。结果就是m-最大流 代码: #include &lt;iostream&gt...

Insist_77的博客 257

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

题解 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

UVa 753 A Plug for UNIX

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

寂静山林 195

uva753 A Plug for UNIX

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

dengdouweng1282的博客 140

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

题意 给定一些插头设备和插座,有一些方法可以把其中一些插头变成另一种插头。求无法匹配插座的插头设备个数。 题解 用\(map\)给每个字符串标号为\(a_i\)和\(b_i\)。 读入每种改变插头的方法,连边,权值为\(inf\)。 然后连边\(S \longrightarrow a_i\),权值为\(1\);\(b_i \longrightarrow T\),权值为\(1\)。 跑最大流即可。 ...

weixin_30276935的博客 112

UVa753/POJ1087_A Plug for UNIX(网络流最大流)(小白书图论专题)

解题报告 题意: n个插头m个设备k种转换器。求有多少设备无法插入。 思路: 定义源点和汇点,源点和设备相连,容量为1. 汇点和插头相连,容量也为1. 插头和设备相连,容量也为1. 可转换插头相连,容量也为inf(因为插头有无限个) #include #include #include #include #include #include #include #defi

_nplus 1463

第十一章例题 UVa753 A Plug for UNIX

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

JXUFE_ACMer的博客 330

UVa 753 A Plug for UNIX (二分图匹配)

题目链接:http://vjudge.net/problem/UVA-753      把设备和插座分别看作二分图的左边和右边的点,则问题转换成了求二分图的最大匹配数。因为一个设备的插头类型可以经转换器变成另一种从而可以接到别的插座上,因此先用一遍Floyd算法求出两个插头间是否可以转化,对于能转化的,即从该设备向该插座连一条边。最后的答案为设备数减最大匹配数。 #includ

Interstellar_的博客 352

UVA - 753 A Plug for UNIX

1.A - A Plug for UNIX 题意: 有n个插座,m个设备和k种转换器,每种转换器都由无限多。已知每个插座的类型,每个设备的插头类型,以及每种转换器的插头类型和插座类型。插头和插座类型都不超过24个字母表示,插头只能插到对应类型名称相同的插座。 问:要求插得设备尽量多,问最少剩几个不匹配的设备。 按照紫书上的思路可以有两种解法: 第一种 首先建...

Bryce1010's Blog 338
上一篇: uva10806 - Dijkstra, Dijkstra. 最小费用流 求两条路权值之和最小
下一篇: uva563 - Crimewave 拆点+链接表的最大流
小小小小葱
博客等级 码龄14年 22粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值