C++
文章平均质量分 73
Cloud Stream
我为什么这么菜?!
展开
-
下楼问题(来源:学堂在线 程序设计基础)
递归经典题目描述从楼上走到楼下共有h个台阶,每一步有3种走法:走一个台阶;走两个台阶;走三个台阶。规定只能往下走,不能往上走。调皮的小明在n个台阶上撒了水,为了防止滑倒,不能踏上这n个台阶,问从楼上到楼下可走出多少种方案?输入描述第一行两个数字h, n,分别表示总台阶数和不能走的台阶数 (1 <= n < h <= 15)接下来n行,每行一个整数a_i,表示第a_i级台阶被撒了水不能走输出描述一个整数,表示从楼上到楼下的方案数。样例输入5 13样例输出原创 2021-01-26 19:40:11 · 2444 阅读 · 0 评论 -
中石油oj周赛:覆盖
中石油oj周赛:覆盖,前置知识:差分、二维差分原创 2023-01-14 21:30:54 · 213 阅读 · 0 评论 -
中石油oj周赛:偶数字符串
中石油oj周赛:偶数字符串原创 2023-01-14 21:23:35 · 289 阅读 · 0 评论 -
数据结构:C++链表及其变种、链表反转
目录双向链表单向链表循环链表(单向/双向)静态链表学习数据结构时的练习,后期会继续补充,原理见注释在刷题时应注意效率和空间限制,若类中所含有的成员函数过多会导致在创建list/node时所需的空间越多,若针对node,在delete时会使得执行时间大大增加。双向链表#include <iostream>using namespace std;class Node {public: Node() { } //针对head和trailer的构造函数 Node(int n, N原创 2021-05-17 17:21:07 · 575 阅读 · 0 评论 -
超详细注释版:归并排序原理、改进思路及其实现方法(C++实现)
策略:分而治之索引二路归并算法原理MergeSort框架设计整合代码复杂度分析反思二路归并算法原理将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。MergeSort框架设计按照以上流程可以先将列出解题框架,显然用递归是可以实现的。列框架可大致分为3步:分:将一个数组分为若干个子数组治:将分解好的子数组两两排序(这里可以将看做:大数组=左数组+右数组),排序算法要考虑一般情况。(sort)合:将排好序的代码合原创 2021-04-20 16:30:44 · 1683 阅读 · 0 评论 -
学堂在线《面向对象程序设计》编程题:按调试级别输出调试信息
题目要求:在程序中输出一些信息,是一种很有效的调试方法。请设计实现一个名为Log的类,能方便输出调试信息,要求满足如下附件所写的要求:关键点:利用重载流运算符、重写属于本类的endl运算符解题思路:依题目要求已知类Log有成员函数set_level、全局函数level和运算符重载函数。等级比较可以转化成int型数据,故这里的level建议使用int类型。先判断有无调用全局函数set_level(“message”)没有调用,则调用重载流运算符函数operator<<() 输原创 2021-02-28 22:01:00 · 645 阅读 · 0 评论 -
猴子跳台阶问题的三种解法(C++实现)
递推问题本人在学习递推时由于一个偶然的错误半天才解决此问题,除递推外也通过对本题的深入思考时发现了递推问题的一些特点,与此同时也深感自己代码能力的不足,写此文章希望帮助对此有需要的人。Tip:问题来自学堂在线程序设计基础问题描述一个顽猴在一座有N级台阶的小山上爬山跳跃,猴子上山一步可跳x级或跳y级,试求猴子上山到N级台阶有多少种不同的爬法?猴子从山脚开始跳,可认为是第0阶。输出描述三个正整数N,X,Y,用空格隔开。 (x <= y <= N <= 100)输出描述猴子原创 2021-01-25 22:32:22 · 5066 阅读 · 0 评论 -
分书问题(暴搜)
分书问题(递归,C++实现)问题描述现在有N本书,准备分给N个人。每个人的阅读兴趣,用一个二维数组like[i][j]加以描述。若 like[i][j] = 1 ,则表示第i个人喜欢第j本书;反之,若 like[i][j] = 0 ,则表示第i个人不喜欢第j本书。现在已知like数组,请写一个程序,输出所有的分书方案,让人人皆大欢喜。输入描述第一行有一个整数N。(N <= 20)之后有N行,每i行有N个数a_ij,取值为0或1,表示like数组,即第i个人是否喜欢第j本书。0表示不喜欢原创 2021-01-24 13:12:49 · 2688 阅读 · 0 评论