华为OD机试 C++【5G基站最小连接成本计算】

题目

现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤相连。

请你设计算法,计算出能联通这些基站的最小成本是多少。

注意:基站的联通具有传递性,比如基站A与基站B架设了光纤,基站B与基站C也架设了光纤,则基站A与基站C视为可以互相联通。

输入描述
第一行输入表示基站的个数N,其中:0 < N ≤ 20
第二行输入表示具备光纤直连条件的基站对的数目M,其中:0 < M < N * (N - 1) / 2
从第三行开始连续输入M行数据,格式为X Y Z P
其中:
X,Y 表示基站的编号
0 < X ≤ N
0 < Y ≤ N
X ≠ Y
Z 表示在 X、Y之间架设光纤的成本
0 < Z < 100
P 表示是否已存在光纤连接,0 表示未连接,1表示已连接

输出描述
如果给定条件,可以建设成功互联互通的5G网络,则输出最小的建设成本
如果给定条件,无法建设成功互联互通的5G网络,则输出 -1

用例

输入	
3
3
1 2 3 0
1 3 1 0
2 3 5 0
输出	
4

解题思路

该问题可以转换为最小生成树问题。我们首先处理所有已

### 华为OD模式2025B技术细节与合作项目 华为OD(Outsourcing Dispatcher)模式是一种外包派遣形式,其核心是通过第三方公司与员工签订劳动合同,而员工实际工作内容和管理由华为负责。针对2025B相关的技术信息和合作项目,可以从以下几个方面进行详细解析。 #### 1. 技术栈要求 根据2025年华为OD的内容[^2],可以推测出技术栈主要集中在以下领域: - **编程语言**:Java、Python、C++等主流语言是重点考察对象。例如,在2025B卷中,可能会涉及仿LISP运算的题目,需要使用栈结构来处理括号逻辑[^3]。 - **算法与数据结构**:包括但不限于排序算法、搜索算法、动态规划、图论等内容。这些知识点在题中占据较大比重。 - **系统设计**:部分高阶岗位可能涉及分布式系统设计、微服务架构设计等。 #### 2. 合作项目背景 华为OD模式下的合作项目通常围绕华为的核心业务展开,主要包括: - **5G通信技术**:作为全球领先的5G解决方案提供商,华为OD模式下会招募大量工程师参与5G基站部署、网络优化等工作。 - **云计算与大数据**:华为云是近年来的重点发展方向之一,OD员工可能会参与到云平台开发、大数据分析等项目中。 - **人工智能**:AI领域的研究与应用也是华为的重要战略方向,OD模式下的技术人员可能会参与器学习模型训练、自然语言处理等任务。 #### 3. 特点 从2025B卷的具体情况来看,具有以下特点: - **题型多样化**:涵盖单选题、多选题、编程题等多种形式。 - **时间限制严格**:通常每道编程题的时间限制较短,要求考生具备快速解决问题的能力。 - **评分标准明确**:成绩的计算方式透明,具体可参考相关文档[^2]。 #### 4. 示例代码 以下是一个基于仿LISP运算的示例代码,展示了如何使用栈结构处理括号逻辑: ```python def evaluate_lisp(expression): stack = [] current_number = 0 sign = 1 result = 0 for char in expression: if char.isdigit(): current_number = current_number * 10 + int(char) elif char == '+': result += sign * current_number sign = 1 current_number = 0 elif char == '-': result += sign * current_number sign = -1 current_number = 0 elif char == '(': stack.append(result) stack.append(sign) result = 0 sign = 1 elif char == ')': result += sign * current_number result *= stack.pop() # Pop the sign result += stack.pop() # Pop the previous result current_number = 0 return result + sign * current_number # 测用例 expression = "(1+(4+5+2)-3)+(6+8)" print(evaluate_lisp(expression)) # 输出应为 23 ``` 此代码实现了对简单算术表达式的求值功能,符合2025B卷中的技术要求[^3]。 #### 5. 薪资待遇与职业发展 根据引用内容[^1],华为OD模式下的薪资待遇相对较高,具体范围因岗位和地区而异。此外,OD员工有会转正成为正式员工,享受更多福利和发展空间。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlgorithmHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值