![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++编程题目
puppylpg
渣渣,努力加油中~
(2019年12月7日13:07:18)以后我的博客就发在个人网站https://puppylpg.github.io/了,欢迎围观
展开
-
从下至上按层遍历由广义表(节点为数字)构造的二叉树
【问题描述】 给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行。【输入形式】 广义表表示的二叉树,结点元素类型为整型,且都大于0,例如:1( 2( 3 ( 4, 5 ) ), 6( 7, 8( 9, 10 ) ) )【输出形式】 从下至上,打印每一层的结点元素值,元素间以空格隔开。每层的访问顺序是从左到右,每一层单独输出一行。【样例输原创 2014-12-02 12:59:06 · 3832 阅读 · 1 评论 -
C2第二次作业
小题大题N位质数泊松分布母牛问题螺旋矩阵判断出栈序列小题 2(1分) 下面四个选项中,均是正确的数值常量或字符常量的是__。 Selection 1 : (A)0.0,0f,8.9e,’&’ (B)”a”,3.9E-2.5,1e1,’\”’ (C)’3’,011,0xFF00,0a (D)+001,0xabcd,2e2,50解析: A中以0开原创 2015-09-27 16:03:54 · 2112 阅读 · 0 评论 -
C2第一次作业
小题大题子串逆置区间兑换硬币实数格式识别N的分解小题脑残了=.= 8(1分) 以下程序的执行结果是__. int x = 1; void func (int x); main () { func (x); printf (“%d\n”, x); } void func (int x) { x = 3; }解析:原创 2015-10-03 11:25:51 · 2707 阅读 · 0 评论 -
C2第三次作业
大题 后缀式转中缀式 【问题描述】 将由数字和四则运算符组成的后缀表达式变换为中缀表达式。输入的后缀表达式包含的运算符不超过15个。要求转换后的中缀表达式中不应出现不必要的括号。例如,整个表达式两端的括号要省略,不影响原计算结果的括号要省略。 【输入形式】 程序从标准输入上读入一行字符串,是一个合法的后缀表达式,数字和运算符之间由空格分隔。其中的数字原创 2015-10-22 21:09:45 · 1125 阅读 · 0 评论 -
蓝桥杯:买不到的数目
标题:买不到的数目 小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。 本题的原创 2015-04-28 00:05:52 · 2431 阅读 · 1 评论 -
迷宫问题 DFS
DFS要点:1.根据是否需要“找到可达路径立即结束”,可以给DFS函数设置返回值为int或void,这样的话可根据返回值判断return(当然也可以设置一个全局变量flag,效果相同,但感觉返回值更好);2.DFS函数传给下一次递归的变量视情况而定,一般情况下是路径的长度,每次都+1;3.DFS函数一般可以分为3个部分:不满足情况直接return,满足条件记录并return,分别朝四个原创 2015-06-28 17:29:04 · 2570 阅读 · 0 评论 -
三个数的最小公倍数LCM (least common multiple)
问题引入——问题描述已知一个正整数 N,问从 1~N 中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数 N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 必备知识:三个连续自然数,如果有两个是奇数,则这三个数的积就是它们的最小公倍数。证明过程可以参考一道题目——求原创 2015-02-06 15:36:24 · 3305 阅读 · 0 评论 -
从递归求和的三种方式理解递归思想
#include int f1(int *a, int begin, int end) //折半递归求和{ int mid; if(begin + 1 == end) // [begin, ..., mid) + [mid, ..., end) return a[begin]; mid = (begin + end) / 2;原创 2015-04-26 13:55:09 · 3093 阅读 · 0 评论 -
全排列 递归+回溯
对于全排列问题,我们举下面一个例子来分析——一个char型数组比如有5位,ABCDE,生成其全排列的所有情况,如果用递归的话思路就会非常简单。递归思想说白了就两步:1.将第一个字符与后面的字符依次交换顺序;2.将皮球踢给后来人,即将去掉第一个字符的剩余字符数组看成一个新的数组,并对其进行和之前相同的操作。贴出代码来瞅瞅:#include#includevoid f(c原创 2015-04-26 12:14:27 · 1574 阅读 · 0 评论 -
通过金矿模型介绍动态规划 01背包
这篇文章写的非常的通俗易懂,让刚接触背包的人大彻大悟,遂摘抄于此,供学习传阅!(有小的删改) 尊重原创,原文出处:http://www.cnblogs.com/sdjl/articles/1274312.html 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲转载 2015-04-15 01:38:41 · 1231 阅读 · 0 评论 -
求矩阵的n次方 快速幂
矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*A)*(A*A)*(转载 2015-04-19 19:07:05 · 20928 阅读 · 2 评论 -
区间第K大数
问题描述给定一个序列,每次询问序列中第 l 个数到第 r 个数中第 K 大的数是哪个。输入格式第一行包含一个数 n,表示序列长度。第二行包含 n 个正整数,表示给定的序列。第三个包含一个正整数 m,表示询问个数。接下来 m 行,每行三个数 l,r,K,表示询问序列从左往右第 l 个数到第 r 个数中,从大往小第 K 大的数是哪个。序列元素从 1 开始标号。输出格式原创 2015-02-06 15:06:30 · 781 阅读 · 0 评论 -
十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。注意 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前原创 2015-02-06 13:13:26 · 959 阅读 · 0 评论 -
岛国问题
【问题描述】一家互联网服务商(简称PIN)在太平洋上发现了几座新岛屿,其中最大的一个岛(称为主岛)已经连接到Internet,但是其他岛和主岛之间没有光缆连接,所以无法上网。为了让所有岛上的居民都能上网,每个岛和主岛之间都必须有直接或者间接的光缆连接。 下图就是这样的一个岛屿,每条实线表示一根光缆,它的长度等于两个岛屿中心位置(路由器位置)的几何距离,图上的数字是该岛上的居民数量。为了原创 2014-12-03 13:01:38 · 2409 阅读 · 2 评论 -
求哈夫曼的带权路径长度
【问题描述】 已知输入两行正整数,第二行正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度。【输入形式】 首先第一行为输入正整数的个数,然后接下来的一行正整数,代表叶结点,正整数个数不超过1000个【输出形式】 输出相应的权值【样例输入】 5 4 5 6 7 8【样例输出】 69关于哈夫曼树——原创 2015-01-16 19:05:31 · 14045 阅读 · 1 评论 -
最优配餐 广度优先搜索
问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。 方格图中的线表示可以行走的道路,相邻两个格点的距离为1。栋栋要送餐必须走可以行走的道路原创 2014-12-09 21:54:08 · 1474 阅读 · 0 评论 -
最短路径:BellmanFord / SPFA / Dijkstra
SPFA是对Bellman-Ford的一种优化,其核心思路就是:不必一直不停地松弛下去,如果当前节点A被松弛了(也就是说当前节点到Source Point的距离变小了),那么A的邻接点B(有可能B通过A得到到达Source Point的最短路径)就需要重新松弛一下:如果B经由A到达Source Point为最短路径,那么B一定会被松弛,否则B不会被松弛。所以,我们需要构建一个队列,当A被松弛之后,所有A的邻接点都要被重新检测一下,看看需不需要被松弛。于是所有A的邻接点入队。之后再从队列中取出一个节点,进原创 2014-12-23 00:12:25 · 993 阅读 · 0 评论