【华为OD-E卷 - 连续出牌数量 100分(python、java、c++、js、c)】
【华为OD-E卷 - 连续出牌数量 100分(python、java、c++、js、c)】
题目
有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。
现给定一副手牌,请找到最优的出牌策略,使打出的手牌最多
输入描述
- 输入为两行
第一行是每张手牌的数字,数字由空格分隔, 第二行为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。 手牌数量不超过10
输出描述
- 输出一个数字,即最多能打出的手牌的数量
用例
用例一:
输入:
1 4 3 4 5
r y b b r
输出:
3
用例二:
输入:
1 2 3 4
r y b l
输出:
1
python解法
- 解题思路:
- 这段代码的目标是计算最长的连续牌链,其中:
每张牌有两个属性:值 (val) 和 花色 (shd)。
连续牌的规则:
相邻的两张牌,必须满足 值相同 或者 花色相同。
解题步骤
输入读取:
第一行 values 代表所有牌的值(如 [‘A’, ‘2’, ‘3’])。
第二行 shades 代表所有牌的花色(如 [‘H’, ‘D’, ‘H’])。
初始化 Card 对象:
使用 Card 类表示牌,包含 val(值)和 shd(花色)。
深度优先搜索 (DFS) 计算最长牌链:
采用回溯法遍历所有可能的排列,计算最长合法链的长度。
search() 递归搜索:
遍历所有未访问的牌。
确保当前牌 current 与上一张牌 previous 满足条件:
previous.val == current.val 或者 previous.shd == current.shd。
继续递归,直到所有可能的链都遍历完。
输出最长链的长度:
max_depth[0] 记录当前最长链的长度。
# 输入获取
values = input().split() # 读取牌的值
shades = input().split() # 读取牌的花色# 定义牌的类,每张牌有 "值" 和 "花色"
class Card:def __init__(self, val, shd):self.val = val # 牌的值self.shd = shd # 牌的花色# 递归搜索最长的合法牌链
def search(sequence, visited, previous, depth, max_depth):# 更新当前最长链的深度max_depth[0] = max(max_depth[0], depth)# 遍历所有牌,尝试加入当前链for idx in range(len(sequence)):if visited[idx]: # 如果该牌已被使用,则跳过continuecurrent = sequence[idx]# 如果有前一张牌,检查是否符合连续条件 (值相同 或 花色相同)if previous and previous.val != current.val and previous.shd != current.shd:continue # 如果不符合,跳过该牌# 选择该牌,并继续搜索visited[idx] = Truesearch(sequence, visited, current, depth + 1, max_depth)visited[idx] = False # 回溯,撤销选择# 计算最长合法牌链的函数
def calculate_max_chain():total = len(values) # 牌的总数# 生成牌的列表,每张牌是一个 Card 对象deck = [Card(values[i], shades[i]) for i in range(total)]max_depth = [0] # 记录最长链的长度visited = [False] * total # 记录哪些牌已经使用# 开始深度优先搜索,查找最长牌链search(deck, visited, None, 0, max_depth)return max_depth[0] # 返回最长链的长度# 输出最长合法牌链的长度
print(calculate_max_chain())
java解法
- 解题思路
- 该程序的目的是计算最长的连续牌链,其中:
每张牌包含值 (val) 和 颜色 (col)。
牌链的规则:
相邻的牌,必须满足值相同或颜色相同。
解题步骤
读取输入
第一行输入为整数数组 vals,代表所有牌的值。
第二行输入为字符串数组 cols,代表所有牌的颜色。
创建 Tile 类
Tile 类存储每张牌的值和颜色。
回溯搜索 (DFS)
采用**回溯 + 深度优先搜索(DFS)**遍历所有可能的排列,计算最长合法链的长度。
变量说明:
vis[]:布尔数组,标记当前牌是否被使用。
prev:表示当前牌链中的上一张牌。
maxChain[0]:存储最长牌链的长度。
递归 search() 方法
遍历所有牌,尝试加入牌链:
如果当前牌 cur 和上一张牌 prev 不符合值或颜色相同的规则,则跳过。
标记 vis[i] = true,递归搜索下一张牌。
回溯 (vis[i] = false),撤销选择,继续搜索其他可能路径。
最终返回 maxChain[0] 作为最长合法牌链的长度
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 读取第一行输入(牌的值)并转换为整数数组int[] vals = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();// 读取第二行输入(牌的颜色)并存储为字符串数组String[] cols = sc.nextLine().split(" ");// 计算最长合法牌链System.out.println(calc(vals, cols));}// 定义Tile类,表示每张牌static class Tile {int val; // 牌的值char col; // 牌的颜色(用字符表示)public Tile(int val, String col) {this.val = val;this.col = col.charAt(0); // 取颜色字符串的第一个字符}}// 计算最长合法牌链public static int calc(int[] vals, String[] cols) {int len = vals.length;Tile[] tiles = new Tile[len];// 创建牌的数组,每张牌由值和颜色组成for (int i = 0; i < len; i++) {tiles[i] = new Tile(vals[i], cols[i]);}int[] maxChain = {0}; // 存储最长牌链长度boolean[] vis = new boolean[len]; // 记录哪些牌已经使用// 进行深度优先搜索(DFS)search(tiles, vis, null, 0, maxChain);return maxChain[0]; // 返回最长牌链的长度}// 递归搜索最长的合法牌链public static void search(Tile[] tiles, boolean[] vis, Tile prev, int len, int[] maxChain) {// 更新最长牌链长度maxChain[0] = Math.max(maxChain[0], len);// 遍历所有牌,尝试加入牌链for (int i = 0; i < tiles.length; i++) {if (vis[i]) continue; // 如果该牌已被使用,则跳过Tile cur = tiles[i];// 如果前一张牌存在,检查是否符合连续条件 (值相同 或 颜色相同)if (prev != null && prev.val != cur.val && prev.col != cur.col) continue;// 选择该牌,并继续搜索vis[i] = true;search(tiles, vis, cur, len + 1, maxChain);vis[i] = false; // 回溯,撤销选择}}
}
C++解法
- 解题思路
更新中
C解法
每张牌包含数字 (num) 和 颜色 (color)。
牌链的规则:
相邻的牌,必须满足数字相同或颜色相同。
解题步骤
读取输入
先读取一行整数,表示牌的数字,存入 cards[i].num。
然后读取一行字符,表示牌的颜色,存入 cards[i].color。
深度优先搜索(DFS)
使用 bfs()(其实是递归深度优先搜索,函数命名 bfs 可能是误导)。
变量说明:
used[]:布尔数组,标记当前牌是否被使用。
lastCard:表示当前牌链中的上一张牌。
maxCount:存储最长牌链的长度。
递归 bfs() 计算最长合法牌链
遍历所有牌:
如果当前牌 current 和 lastCard 不符合数字或颜色相同的规则,则跳过。
标记 used[i] = 1,递归搜索下一张牌。
回溯 (used[i] = 0),撤销选择,继续搜索其他可能路径。
最终返回 maxCount 作为最长合法牌链的长度
#include <stdio.h>
#include <stdbool.h>#define MAX_SIZE 10 // 假设最多 10 张牌// 结构体表示一张牌
typedef struct {int num; // 牌的数字char color; // 牌的颜色
} Card;int maxCount = 0; // 记录最长牌链的长度
Card cards[MAX_SIZE]; // 存储牌组
int cardsSize = 0; // 牌的总数量void dfs(int used[], Card* lastCard, int count); // 递归搜索函数int main() {// 读取牌的数字while (scanf("%d", &cards[cardsSize].num)) {cardsSize++;if (getchar() != ' ') break; // 遇到换行,停止读取}// 读取牌的颜色for (int i = 0; i < cardsSize; i++) {cards[i].color = (char)getchar(); // 读取字符颜色getchar(); // 跳过空格或换行}int used[MAX_SIZE] = {0}; // 记录哪些牌已被使用dfs(used, NULL, 0); // 开始深度优先搜索printf("%d\n", maxCount); // 输出最长合法牌链长度return 0;
}// 递归搜索最长牌链
void dfs(int used[], Card* lastCard, int count) {// 更新最长牌链的长度if (count > maxCount) {maxCount = count;}// 遍历所有牌,尝试加入牌链for (int i = 0; i < cardsSize; i++) {if (used[i]) continue; // 如果该牌已被使用,跳过Card current = cards[i];// 如果 lastCard 存在,检查是否符合连续规则(数字相同 或 颜色相同)if (lastCard == NULL || lastCard->num == current.num || lastCard->color == current.color) {used[i] = 1; // 标记该牌为已使用dfs(used, ¤t, count + 1); // 递归搜索used[i] = 0; // 回溯,撤销选择}}
}
JS解法
更新中
注意:
如果发现代码有用例覆盖不到的情况,欢迎反馈!会在第一时间修正,更新。
解题不易,如对您有帮助,欢迎点赞/收藏
相关文章:
【华为OD-E卷 - 连续出牌数量 100分(python、java、c++、js、c)】
【华为OD-E卷 - 连续出牌数量 100分(python、java、c、js、c)】 题目 有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出&…...
buu-jarvisoj_level0-好久不见30
嘶,我咋觉得这个也是栈溢出呢,找到读取的值,在再找到后门函数...
DeepSeek r1本地安装全指南
环境基本要求 硬件配置 需要本地跑模型,兼顾质量、性能、速度以及满足日常开发需要,我们需要准备以下硬件: CPU:I9内存:128GB硬盘:3-4TB 最新SSD,C盘确保有400GB,其它都可划成D盘…...
【论文笔记】Fast3R:前向并行muti-view重建方法
众所周知,DUSt3R只适合做稀疏视角重建,与sapnn3r的目的类似,这篇文章以并行的方法,扩展了DUSt3R在多视图重建中的能力。 abstract 多视角三维重建仍然是计算机视觉领域的核心挑战,尤其是在需要跨不同视角实现精确且可…...
开源智慧园区管理系统对比其他十种管理软件的优势与应用前景分析
内容概要 在当今数字化快速发展的时代,园区管理软件的选择显得尤为重要。而开源智慧园区管理系统凭借其独特的优势,逐渐成为用户的新宠。与传统管理软件相比,它不仅灵活性高,而且具有更强的可定制性,让各类园区&#…...
第四节 MATLAB变量
每个MATLAB变量可以是数组或者矩阵。 用一个简单的方法指定变量。例如: x 3 % defining x and initializing it with a value MATLAB执行上述语句,并返回以下结果: x 3 上述的例子创建了一个1-1的矩阵名为x和的值存储在其元素中…...
小红的小球染色期望
B-小红的小球染色_牛客周赛 Round 79 题目描述 本题与《F.R小红的小球染色期望》共享题目背景,但是所求内容与范围均不同,我们建议您重新阅读题面。 有 n 个白色小球排成一排。小红每次将随机选择两个相邻的白色小球,将它们染成红色。小红…...
c++井字棋(单人对电脑:1.电脑随机下 2.电脑AI;3.双人对决)
本游戏分两个模式,三种玩法: 每个玩法中的人下棋规则不变,如下: while (1) {/*输入*/int row,col;cout<<"请输入坐标(1索引):\n";cin>>row>>col;/*切换索引*/row--;col--;if(legal(row,col)) {prin…...
Python 原子操作:使用 `atomic` 模块保证线程安全
Python 原子操作:使用 atomic 模块保证线程安全 在多线程编程中,共享数据的访问往往需要考虑线程安全问题。如果多个线程同时修改同一个变量,可能会导致数据竞争,从而产生不可预测的结果。为了解决这个问题,我们可以使用原子操作。原子操作是指不可中断的操作,要么全部执…...
《解锁AI黑科技:数据分类聚类与可视化》
在当今数字化时代,数据如潮水般涌来,如何从海量数据中提取有价值的信息,成为了众多领域面临的关键挑战。人工智能(AI)技术的崛起,为解决这一难题提供了强大的工具。其中,能够实现数据分类与聚类…...
使用朴素贝叶斯对自定义数据集进行分类
准备自定义数据集 首先,需要一个自定义数据集来进行分类。创建一个简单的二维数据集,其中每个样本有两个特征,并且属于两个类别之一。 import numpy as np import pandas as pd# 创建自定义数据集 np.random.seed(42) num_samples 100# 生…...
《超自然》:科学与灵性融合的自我转变之路
在现代社会中,许多人开始探寻自我成长、身心疗愈与灵性提升的可能性。Bestselling author Dr. Joe Dispenza 的《超自然:普通人如何创造非凡人生》正是在这样的大背景下问世的。书中既融合了量子物理、神经科学和表观遗传学的前沿理论,又吸收…...
学习日记-250202
现在开始要继续写我的日记了......(也可以当作笔记吧) 一.论文 Prompt Transfer for Dual-Aspect Cross Domain Cognitive Diagnosis 主要内容: 主要是加入prompt提示, 为重叠实体设计个性化的提示,为非重叠实体设计共…...
AI(计算机视觉)自学路线
本文仅用来记录一下自学路线方便日后复习,如果对你自学有帮助的话也很开心o(* ̄▽ ̄*)ブ B站吴恩达机器学习->B站小土堆pytorch基础学习->opencv相关知识(Halcon或者opencv库)->四类神经网络(这里跟…...
游戏引擎 Unity - Unity 启动(下载 Unity Editor、生成 Unity Personal Edition 许可证)
Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...
第二篇:多模态技术突破——DeepSeek如何重构AI的感知与认知边界
——从跨模态对齐到因果推理的工程化实践 在AI技术从单一模态向多模态跃迁的关键阶段,DeepSeek通过自研的多模态融合框架,在视觉-语言-语音的联合理解与生成领域实现系统性突破。本文将从技术实现层面,解构其跨模态表征学习、动态融合机制与…...
41. 缺失的第一个正数
参考题解:https://leetcode.cn/problems/first-missing-positive/solutions/7703/tong-pai-xu-python-dai-ma-by-liweiwei1419 难点在于时间复杂度控制在O(n),空间复杂度为常数级。 哈希表时间复杂度符合,但是空间复杂度为O(n) 排序空间复杂…...
DeepSeek R1 简易指南:架构、本地部署和硬件要求
DeepSeek 团队近期发布的DeepSeek-R1技术论文展示了其在增强大语言模型推理能力方面的创新实践。该研究突破性地采用强化学习(Reinforcement Learning)作为核心训练范式,在不依赖大规模监督微调的前提下显著提升了模型的复杂问题求解能力。 技…...
经典游戏红色警戒2之英语
1. New construction options 部署新的建筑物(一般是部署基地车时说的)。 2. Loading 等待。(正在进行) 3. Construction complete 建筑完成。 4. On hold 等待。(暂停进行) 5. Canceled 取消。 6. Ca…...
Zemax 中带有体素探测器的激光谐振腔
激光谐振腔是激光系统的基本组成部分,在光的放大和相干激光辐射的产生中起着至关重要的作用。 激光腔由两个放置在光学谐振器两端的镜子组成。一个镜子反射率高(后镜),而另一个镜子部分透明(输出耦合器)。…...
猴子吃桃问题
# 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,有多吃了一个,第二天早上有将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩的一半零一个。到第十天早上想再吃时࿰…...
ELECTRA:作为判别器而非生成器的预训练文本编码器
摘要 诸如BERT之类的掩码语言建模(MLM)预训练方法通过将某些标记替换为[MASK]来破坏输入,然后训练模型以重建原始标记。尽管这些方法在下游自然语言处理(NLP)任务中表现良好,但它们通常需要大量的计算资源…...
图论——最小生成树
最小生成树 给定一个无向图,在图中选择若干条边把图的所有节点连起来。要求边长之和最小。在图论中,叫做求最小生成树。 prim算法 prim 算法采用的是一种贪心的策略。 每次将离连通部分的最近的点和点对应的边加入的连通部分,连通部分逐渐扩大…...
【Linux-网络】初识计算机网络 Socket套接字 TCP/UDP协议(包含Socket编程实战)
🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚一、初识计算机网络 📖 背景 📖 网络协议 🔖OSI七层…...
三数之和(15)
15. 三数之和 - 力扣(LeetCode) 可以一起总结的题目:三角形的最大周长(976)-CSDN博客 解法: class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {vector…...
6 Flink 状态管理
6 Flink 状态管理 1. State-Keyed State2. State-Operator State3. Broadcast State 我们前面写的 wordcount 的例子,没有包含状态管理。如果一个task在处理过程中挂掉了,那么它在内存中的状态都会丢失,所有的数据都需要重新计算。从容错和消…...
物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】
物联网(IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术,实时采集并连接任何需要监控、连接、互动的物体或过程,实现对物品和过程的智能化感知、识别和管理。物联网的核心功能包括数据采集与监…...
elasticsearch8.15 高可用集群搭建(含认证Kibana)
文章目录 1.资源配置2.系统参数优化3.JDK17安装4.下载&安装ES 8.155.生成ES的证书(用于ES节点之间进行安全数据传输)6.修改ES 相关配置文件7.创建es用户并启动8.配置ES的账号和密码(用于ES服务端和客户端)9.下载和安装Kibana10.编辑Kibana配置文件11.启动Kiabana12.访问Kia…...
如何实现滑动网格的功能
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了SliverList组件相关的内容,本章回中将介绍SliverGrid组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的SliverGrid组件是一种网格类组件,主要用来…...
DBASE DBF数据库文件解析
基于Java实现DBase DBF文件的解析和显示 JDK19编译运行,实现了数据库字段和数据解析显示。 首先解析数据库文件头代码 byte bytes[] Files.readAllBytes(Paths.get(file));BinaryBufferArray bis new BinaryBufferArray(bytes);DBF dbf new DBF();dbf.VersionN…...
linux中统计文件中特定单词或字符串的出现次数
在 Linux 中,可以使用 grep 和 wc 命令组合来统计一个文件中特定单词或字符串的个数。假设想统计文件 example.txt 中字符串 “example_string” 出现的次数,可以使用以下命令: grep -o -w example_string example.txt | wc -l这里是每个选项…...
视觉状态空间模型(VMamba)的解读
在计算机视觉领域,设计计算高效的网络架构一直是研究的热点。今天,我想和大家分享一篇发表在 NIPS 2024 上的论文——VMamba:Visual State Space Model,这篇论文提出了一种新的视觉骨干网络,具有线性时间复杂度&#x…...
几种K8s运维管理平台对比说明
目录 深入体验**结论**对比分析表格**1. 功能对比****2. 用户界面****3. 多租户支持****4. DevOps支持** 细对比分析1. **Kuboard**2. **xkube**3. **KubeSphere**4. **Dashboard****对比总结** 深入体验 KuboardxkubeKubeSphereDashboard 结论 如果您需要一个功能全面且适合…...
nodejs:js-mdict 的下载、安装、测试、build
js-mdict 项目的目录结构:js-mdict 项目教程 js-mdict 下载地址: js-mdict-master.zip 先解压到 D:\Source\ js-mdict 6.0.2 用了 ts (TypeScript) 和 Jest,增加了应用开发的难度,因为先要了解 ts 和 Jest。 参阅:测试与开发&a…...
Vue3 表单:全面解析与最佳实践
Vue3 表单:全面解析与最佳实践 引言 随着前端技术的发展,Vue.js 已经成为最受欢迎的前端框架之一。Vue3 作为 Vue.js 的最新版本,带来了许多改进和新的特性。其中,表单处理是 Vue 应用中不可或缺的一部分。本文将全面解析 Vue3 …...
JavaWeb入门-请求响应(Day3)
(一)请求响应概述 请求(HttpServletRequest):获取请求数据 响应(HttpServletResponse):设置响应数据 BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器就可访问,应用程序的逻辑和数据都存储在服务端(维护方便,响应速度一般) CS架构:Client/ser…...
【单层神经网络】基于MXNet库简化实现线性回归
写在前面 同最开始的两篇文章 完整程序及注释 导入使用的库# 基本 from mxnet import autograd, nd, gluon # 模型、网络 from mxnet.gluon import nn from mxnet import init # 学习 from mxnet.gluon import loss as gloss # 数据集 from mxnet.gluon…...
一元函数微积分的几何应用:二维平面光滑曲线的曲率公式
文章目录 前言曲率和曲率半径的定义曲率计算公式参数方程形式直角坐标显式方程形式极坐标形式向量形式 前言 本文将介绍二维平面光滑曲线的曲率定义以及不同形式的曲率及曲率半径公式的推导。 曲率和曲率半径的定义 (关于二维平面光滑曲线的定义以及弧长公式请参…...
编程题-最接近的三数之和
题目: 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 解法一(排序双指针): 题目要求找…...
【LLM-agent】(task4)搜索引擎Agent
note 新增工具:搜索引擎Agent 文章目录 note一、搜索引擎AgentReference 一、搜索引擎Agent import os from dotenv import load_dotenv# 加载环境变量 load_dotenv() # 初始化变量 base_url None chat_model None api_key None# 使用with语句打开文件…...
string类详解
为什么学习string类? 1.1 C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想…...
【含文档+PPT+源码】基于微信小程序农家乐美食餐厅预约推广系统
项目介绍 本课程演示的是一款基于微信小程序农家乐美食餐厅预约推广系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 …...
享元模式——C++实现
目录 1. 享元模式简介 2. 代码示例 1. 享元模式简介 享元模式是一种结构型模式。 享元模式用于缓存共享对象,降低内存消耗。共享对象相同的部分,避免创建大量相同的对象,减少内存占用。 享元模式需要将对象分成内部状态和外部状态两个部分…...
《苍穹外卖》项目学习记录-Day11订单统计
根据起始时间和结束时间,先把begin放入集合中用while循环当begin不等于end的时候,让begin加一天,这样酒吧把这个区间内的时间放到List集合。 查询每天的订单总数也就是查询的时间段是大于当天的开始时间(0点0分0秒)小…...
Python3 OS模块中的文件/目录方法说明十六
一. 简介 前面文章简单学习了 Python3 中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS 模块中文件、目录的操作方法:os.unlink() 方法、os.utime()方法。 二. Python3 OS模块中的文件/目录方法 1. os.unlink() 方法 os.unlink() 方法用于删除文件,如果文…...
(二)QT——按钮小程序
目录 前言 按钮小程序 1、步骤 2、代码示例 3、多个按钮 ①信号与槽的一对一 ②多对一(多个信号连接到同一个槽) ③一对多(一个信号连接到多个槽) 结论 前言 按钮小程序 Qt 按钮程序通常包含 三个核心文件: m…...
图论——spfa判负环
负环 图 G G G中存在一个回路,该回路边权之和为负数,称之为负环。 spfa求负环 方法1:统计每个点入队次数, 如果某个点入队n次, 说明存在负环。 证明:一个点入队n次,即被更新了n次。一个点每次被更新时所对应最短路的边数一定是…...
96,【4】 buuctf web [BJDCTF2020]EzPHP
进入靶场 查看源代码 GFXEIM3YFZYGQ4A 一看就是编码后的 1nD3x.php 访问 得到源代码 <?php // 高亮显示当前 PHP 文件的源代码,用于调试或展示代码结构 highlight_file(__FILE__); // 关闭所有 PHP 错误报告,防止错误信息泄露可能的安全漏洞 erro…...
Rust 的基本类型有哪些,他们存在堆上还是栈上,是否可以COPY?
Rust 的基本类型主要包括以下几类: 1. 整数类型(Integer) Rust 提供了有符号和无符号的整数类型: 有符号整数(i8, i16, i32, i64, i128, isize)无符号整数(u8, u16, u32, u64, u128, usize&a…...
函数与递归
函数与递归 声明或者定义应该在使用之前(不单单针对于函数) 函数对全局变量做出的改变还是不会随着函数结束而消失的 函数声明在main函数里面也是可以的 引用变量和引用实体的变化是一样的 传址调用比传值调用效率高 重载函数->编译器会根据传递…...