2025年3月电子学会c++五级真题

结绳

#include <bits/stdc++.h>
using namespace std;int n,a[10010];int main()
{cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}sort(a+0,a+n);//将a数组从小到大排序double sum = 0;for(int i = 0;i<n;i++){sum = (sum+a[i])/2;}cout<<(int)sum;return 0;
}

最大乘积和

(思路:使用回溯算法(深搜DFS)) 

#include <bits/stdc++.h>
using namespace std;int a[100010],b[100010];
int ca[100010],cb[100010];
int n,m;
int ma;void aaa(int);
int main()
{cin>>n;for(int i = 0;i<n;i++){cin>>a[i];}cin>>m;for(int i = 0;i<m;i++){cin>>b[i];}aaa(0);cout<<ma;return 0;
}
void aaa(int sum)
{ma = max(ma,sum);for(int i = 0;i<n;i++){for(int j = 0;j<m;j++){if(ca[i]==0&&cb[j]==0){ca[i] = 1;cb[j] = 1;aaa(sum+a[i]*b[j]);ca[i] = 0;cb[j] = 0;}}}}

从A到B

(思路:使用广度优先搜索算法BFS(广搜))

#include <bits/stdc++.h>
using namespace std;
struct node
{int x,v;bool f = true;node(){};node(int aa,int bb){x = aa;v = bb;}
};
node que[200020];
int head,tail;int f[200020];
int a,b,n;int main()
{int t;cin>>t;while(t!=0){head = 0;tail = 0;for(int i = 0;i<200020;i++){f[i] = 0;}cin>>a>>b>>n;a += 100010;b += 100010;//两个“+100010”是为了加上负数(数轴上的数整体往右移100010个单位长度)que[++tail] = {a,0};f[a] = 1;bool ff = false;while(head<tail){head++;for(int i = 0;i<3;i++){int tx;if(i==0) tx = que[head].x+1;else if(i==1) tx = que[head].x-1;else tx = (que[head].x-100010)*n+100010;if(tx>=0&&tx<200020&&f[tx]==0){f[tx] = 1;que[++tail] = {tx,que[head].v+1};}if(que[tail].x==b){cout<<que[tail].v<<endl;ff = true;break;}}if(ff==true) break;}t--;}return 0;
}

#include <bits/stdc++.h>
using namespace std;int m,n,a[110],b[110];
int ff[110];
bool fff = false;void aaa(int);int main()
{cin>>m;for(int i = 0;i<m;i++){if(i*(i-1)/2==m){n = i;break;}}for(int i = 0;i<m;i++){cin>>a[i];}sort(a+0,a+m);//将a数组从小到大排序b[0] = 0;//确定首个收费站的位置b[n-1] = a[m-1];//确定尾个收费站的位置aaa(1);return 0;
}
void aaa(int x)
{if(x==n-1){int aa[110] = {0};int la = 0;for(int i = 0;i<n;i++){for(int j = i+1;j<n;j++){aa[la] = b[j]-b[i];la++;}}sort(aa+0,aa+la);//将aa数组从小到大排序bool f = true;for(int i = 0;i<m;i++){if(a[i]!=aa[i]){f = false;break;}}if(f==true){fff = true;for(int i = 0;i<n-1;i++){cout<<b[i]<<" ";}cout<<b[n-1];return;}return;}for(int i = 0;i<n;i++){int bb = b[x-1]+a[i];if(ff[bb]==0){b[x] = bb;ff[bb] = 1;aaa(x+1);ff[bb] = 0;}if(fff==true) return;}return;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Nginx实现负载均衡与高可用架构(整合Keepalived)

前言 在分布式架构中&#xff0c;负载均衡和高可用是保障系统稳定性的两大核心能力。本文将深入讲解如何通过Nginx实现七层负载均衡&#xff0c;并结合Keepalived构建无单点故障的高可用架构。文末附完整配置模板&#xff01; 一、Nginx负载均衡实现方案 1. 核心原理 Nginx通…

springBoot与ElementUI配合上传文件

以下是使用Vue CLI创建的Vue项目&#xff0c;结合Element UI来实现文件上传功能的完整示例。 步骤 创建Vue项目&#xff1a;确保你已经安装了Vue CLI&#xff0c;若未安装&#xff0c;可使用以下命令安装&#xff1a; npm install -g vue/cli然后创建一个新的Vue项目&#x…

黑盒测试的测试用例构成的八点要素

测试用例: 是为测试项目而设计的执行文档 作用&#xff1a; 防止漏测实施测试的标准 编写格式&#xff1a; 用例编号:项目 模块 编号用例标题:预期结果(测试点)模块/项目:所属项目或模块优先级:表示用例的重要程度或者影响力P0~p4(P0最高)前置条件:要执行此条用例&#xf…

蓝桥刷题note11(好数)

1&#xff0c;好数 一个整数如果按从低位到高位的顺序&#xff0c;奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数&#xff0c;偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数&#xff0c;我们就称之为 “好数”。 给定一个正整数 NN&#xff0c;请计算从 1 到 NN 一共…

Keil编译生成的axf文件的介绍

在 Keil 开发环境&#xff08;如 Keil MDK&#xff09;中&#xff0c;.axf 文件是一种 可执行文件格式&#xff0c;主要用于 ARM 处理器的嵌入式开发。它的作用类似于 ELF&#xff08;Executable and Linkable Format&#xff09;格式&#xff0c;包含了可执行代码、调试信息、…

C#:第一性原理拆解属性(property)

目录 第一步&#xff1a;从最基本的需求出发 第二步&#xff1a;引入控制需求 第三步&#xff1a;优化访问方式 第四步&#xff1a;剖析属性的本质 第五步&#xff1a;进一步简化和演化 第六步&#xff1a;总结属性的第一性原理 我们用第一性原理&#xff08;First Prin…

-PHP 应用文件上传函数缺陷条件竞争二次渲染黑白名单JS 绕过

#学习前必读&#xff1a; 1 、课前一定要明白&#xff1a; 无文件解析安全问题上&#xff0c;格式解析是一对一的&#xff08;不能 jpg 解析 php &#xff09; 换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析 2 、文件上传安全指的是攻击者通过利用上传…

C++的模板(十四):更多的自动内存管理

在前文《C的模板(八)&#xff1a;子系统》class DMM&#xff0c;给出了一个自动动态内存管理的例子。https://blog.csdn.net/aaasssdddd96/article/details/139921880 它使用了一个list容器&#xff0c;把两个类型兼容的指针存放在一起。在new的时候&#xff0c;随即就把得到的…

Windows下VSCode的安装

前言 VSCode的安装看起来平平无奇&#xff0c;但也不是轻轻松松的。笔者将最新的Windows下安装VSCode&#xff0c;以及运行最简单的C程序的过程记录下来&#xff0c;供后续的自己和大家参考。 一、官网下载安装包 Visual Studio Code - Code Editing. Redefined 二、安装 直接…

Matlab教程004:Matlab矩阵的拼接重构重排以及矩阵的运算

文章目录 1.4.3 矩阵的拼接重构重排1.4.3.1 横向拼接1.4.3.2 纵向拼接1.4.3.3 矩阵的重构重排 1.4.4 矩阵的运算1.4.4.1 算数运算1.4.4.2 矩阵加减1.4.4.3 矩阵乘法1.4.4.4 矩阵转置 1.4.3 矩阵的拼接重构重排 1.4.3.1 横向拼接 A和B的行数相同&#xff0c;那么使用[A,B]、[A …

Python小练习系列 Vol.3:生成有效括号组合(回溯 + DFS)

&#x1f9e0; Python小练习系列 Vol.3&#xff1a;生成有效括号组合&#xff08;回溯 DFS&#xff09; &#x1f44b; 本期我们来刷一道 LeetCode 热门经典题&#xff0c;借此掌握回溯算法的精髓 —— 生成有效括号组合&#xff0c;是学习递归 & DFS 的黄金题型&#xff…

实战经验深度解析 | 博睿数据制造行业精选案例集发布!

近年来&#xff0c;我国制造业加速迈向高端化、智能化、绿色化&#xff0c;为经济高质量发展注入新动能。放眼全球&#xff0c;制造业正加速数字化、智能化转型&#xff0c;5G、人工智能、边缘计算等技术与生产全流程深度融合&#xff0c;有力推动柔性化生产与产业链协同创新发…

[创业之路-344]:战略的本质是选择、聚焦, 是成本/效率/低毛利优先,还是差易化/效益/高毛利优先?无论是成本优先,还是差易化战略,产品聚焦是前提。

前言&#xff1a; 一、战略的本质是选择、聚焦 关于战略的本质&#xff0c;触及了商业竞争的核心矛盾&#xff1a;选择成本优先&#xff08;效率/低毛利&#xff09;还是差异化&#xff08;效益/高毛利&#xff09;&#xff0c;本质上是对企业战略方向的终极拷问。 1、战略选…

项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离;区别数据分区、分表、分库

01. 运维-课程介绍_哔哩哔哩_bilibili 一、各种日志查看 二、主从复制 三、分库分表&#xff08;MyCat&#xff09; 四、读写分离 五、区别数据分区、分表、分库 1、数据库分区 上图中的ibd文件&#xff0c;是分区表的数据文件&#xff0c;可以分布在不同的物理设备上&…

OpenCV图像拼接(10)用于实现图像拼接过程中的时间流逝(timelapse)效果的一个类cv::detail::Timelapser

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::Timelapser 是 OpenCV 库中用于实现图像拼接过程中的时间流逝&#xff08;timelapse&#xff09;效果的一个类。它通常用于将一系列…

Transformer 通关秘籍2:利用 BERT 将文本 token 化

前面两节分别通过两个代码示例展示了模型将文本转换为 token 之后是什么样的&#xff0c;希望你可以对此有一个感性的认识。 本节来简要介绍一下将一个连续的文本转换为 token 序列的大致过程&#xff0c;这个过程被称为分词&#xff0c;也叫 tokenization。 在你没了解这方面…

Optional的stream方法,flatMap, filter应用

Java 8引入的Optional和Stream彻底改变了我们处理空值和集合操作的方式。本文将深入探讨如何将二者结合使用&#xff0c;通过四个核心场景提升代码的健壮性和简洁性。 一、Optional构成的Stream&#xff1a;空值自动过滤 当处理Optional集合时&#xff0c;我们常需要过滤掉空…

参加李继刚线下活动启发:未来提示词还会存在吗?

上周六&#xff0c;我参加了李继刚老师组织的线下活动。 现场干货满满&#xff0c;尤其是关于 AI 时代提示词的价值、与 AI 沟通的艺术等话题&#xff0c;李老师的分享如同醍醐灌顶&#xff0c;让我对 AI 人机协作有了更深的理解。 将几点核心收获整理出来&#xff0c;与大家…

Python基础知识第二天:从格式化到流程控制

Python基础知识第二天&#xff1a;从格式化到流程控制 大家好&#xff01;今天我们来梳理Python的一些重要基础知识&#xff0c;包括格式化输出、输入函数、运算符以及流程控制语句。 1. 格式化输出 Python提供了多种格式化输出的方式&#xff1a; # %d, %f, %s 格式化name &q…

GDB: coredump

前言&#xff1a;一句话如下使用 gdb [exec_file] [core_file] # or gdb -c [core_file] [exec_file] #-c指定转储的core文件 gdb -c core.5213 spp_uc_frequent_contact_ol_worker # 进入后输入bt查看调用栈 bt #显示所有帧栈 bt 10 #显示前面10个帧栈(感觉没啥用) bt …