
C++
Cainell
这个作者很懒,什么都没留下…
展开
-
常用四大二分法查找变形
常用二分法查找变形二分法新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入二分法二分法你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,原创 2022-01-14 13:45:37 · 705 阅读 · 0 评论 -
天勤 数据结构 P80 T10
题目试编写一个算法,检查一个程序中的花括号、方括号和圆括号是否配对,若全部配对,则返回1,否则返回0。对于程序中出现的一对单引号或者双引号内的字符不进行括号配对检查。39为单引号ASCII值,34为双引号的ASCII值。单引号和双引号如果出现则成对出现。int bracketsCheck(char f[]){// 对由字符数组f所存字符中的文本进行括号匹配检查 stack S, char ch; char *p = f; while(*p!='\0'){// 顺序扫描串中的每一个字符原创 2021-08-14 16:46:54 · 202 阅读 · 0 评论 -
十进制转二进制 (栈
C++ Codeclass Solution {public: string toHex(int num) { if(num==0) return "0"; //0-15映射成字符 string num2char = "0123456789abcdef"; //转化为非符号数,就可以用>>移位 unsigned int n = num; string res = ""原创 2021-08-13 23:54:04 · 195 阅读 · 0 评论 -
vector 如何使用访问(存取)数值
两种方式1.先push_back第一个元素2.声明数组大小#include <iostream>#include <vector>using namespace std; int main(){ vector<int> v; //或者声明vector的大小,vector<int> test(10); v.push_back(1); v[3] = 2; v[10] = 10; cout <<原创 2020-06-04 10:53:43 · 555 阅读 · 0 评论 -
vector作为函数如何传参
int L[]作为参数, 能改变L的值, 不需要引用&#include<bits/stdc++.h>using namespace std; void move(int L[], int n){ int temp; int i = 0, j = n - 1; temp = L[i]; while(i<j){ for(int k = 0;k<n;++k){ cout<<L[k]<<" "; } cout<<原创 2020-06-04 10:49:55 · 396 阅读 · 0 评论 -
运用栈求解迷宫问题
文章目录1.题目2.数据结构1.用数组对迷宫进行定义2.试探方向3.设计栈4.防止重复到某一点, 以免发生死循环, 将走过的点初始化为 - 1,即maze[x][y] = -1.5.迷宫算法的求解思想:3.代码1.题目问题描述:设置迷宫为mn的二维数组,起点坐标为(1,1),中点坐标为(m,n),0为通路,1为死路,为防止数组越界将四周设置边界1,即数组变为(m+2)(n+2)数组,迷宫如下…迷宫1 1 1 1 1 1 1 1 1 11 0 1 1 1 0 1 1 1 11 1 0 1 0 1原创 2020-05-16 09:26:52 · 641 阅读 · 0 评论 -
编译原理(中间代码生成)-逆波兰表示(后缀表达式)
1.需求1、编制一个中间代码生成程序,能将算术表达式等翻译成逆波兰形式, 即从中缀表达式转换成后缀表达式;2、程序具有通用性,即能接受各种不同的算术表达式等语法成分。3、对于语法正确的算术表达式,能生成逆波兰表示,并输出结果;1+2, 是中缀表达式. 后缀表达式即运算符在后面的表达式.逆波兰表达式,它的语法规定,表达式必须以逆波兰表达式的方式给出。逆波兰表达式又叫做后缀表达式,下面是一些具体的例子:正常的表达式 逆波兰表达式a+b —> a,b,+a+(b-c) —> a,b,c原创 2020-05-16 00:14:31 · 8171 阅读 · 4 评论 -
字符串翻转之单词顺序不变
文章目录1.题目2.示例1.题目输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。2.示例输入1: “the sky is blue”输出1: “blue is sky the”输入2: " hello world! "输出2: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。输入3原创 2020-05-14 23:09:22 · 1804 阅读 · 0 评论 -
CCF-CSP认证201912-3. 化学方程式
题目链接:201912-3化学方程式难点:()的多重嵌套.可能出现多个嵌套,一般方法都是递归或者用堆栈,这里用了一个“pass”标记,减轻了工作量。因为带括号的化学式出现的形式是( ( ( )num1 )num2 )num3…,按下标顺序读入的字符串遇到的第一个数字num1,然后就会处理num1所在的化学式()num1.然后再往后处理num2所在的化学式()num2,依次处理.所以可以在遇...原创 2020-04-02 11:00:58 · 450 阅读 · 0 评论 -
C++ STL容器学习
1.map如何定义一个mapmap<typename1,typename2> mp;如果是字符串到整型的映射,必须使用string而不是char数组.2.map容器内元素的访问(1).通过下标访问map中的键是唯一的.例:#include<stdio.h>#include<map>using namespace std;int main()...原创 2020-03-05 01:35:15 · 160 阅读 · 0 评论 -
北京大学医学部上机之我爱学习!
总时间限制:1000ms内存限制:65536kB描述Y同学最近状态十分低落,因为期末来临,DDL压身,以致神思不属、茶饭不思,沉迷手机、无心学习。然而在水手机的时候,Y同学却发现,身边用功的同学好多,自己的时间线上满满的都是学霸们的动态。“WA了好久终于AC啦!”“忙完一个DDL终于又可以忙下一个……”再看着自己一事无成的期末,Y同学觉得自己身上的罪恶感一点点地增大。突然,Y同学...原创 2020-03-03 15:55:11 · 281 阅读 · 0 评论 -
北京大学医学部上机练习之Black Jack
总时间限制:1000ms内存限制:65536kB描述21点是一种风靡全球的游戏。进行游戏需要一副扑克牌,牌面由2到10的数字、J、Q、K、A组成。假设现在有你和另外一名玩家,手上分别有若干张牌,你需要通过比较双方手上的扑克牌牌面,来看谁赢得了本局游戏。牌面分值如下:(1)2、3、4、5、6、7、8、9:按照牌面的实际大小计算分值。(2)10、J、Q、K:均以10点为计算分值。(...原创 2020-03-02 23:58:18 · 558 阅读 · 0 评论 -
北京大学2009年医学部练习题之二维数组回形遍历
总时间限制:1000ms内存限制:65536kB描述给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序遍历整个数组。如图所示:输入输入的第一行上有两个整数,依次为row和col。余下有row行,每行包含col个整数,构成一个二维整数数组。(注:输入的row和col保证0 < row < 100, 0 <...原创 2020-03-02 21:33:32 · 314 阅读 · 0 评论 -
网易有道编程题:洗牌算法(C++)
题目洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把...原创 2020-03-02 21:09:20 · 656 阅读 · 0 评论 -
C语言网 蓝桥杯训练 1075 台球碰撞
样例输入100 100 80 10 5 90 2 23110 100 70 10 5 180 1 99990 0 0 0 0 0 0 0样例输出80.00 56.0071.00 10.00思路将二维的运动转换为一维的运动这个问题涉及到球在二维平面内的受边界限制的斜向运动,在写程序之前有几个问题要考虑: a.我们最终所求的是球心坐标,而球与球桌碰撞时实际上是球的边界与球...原创 2020-02-24 00:38:01 · 845 阅读 · 0 评论 -
NOPI提高组 2011 模拟 暴力破解 P1003 铺地毯
题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n张地毯,编号从 1 到 n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入格式输入共 n+...原创 2020-02-24 00:01:23 · 515 阅读 · 0 评论 -
并查集总结
并查集详解并查集基础推荐看了基础知识再来看此文背景:在做leetcode时的总结。题目链接这道题中的关键词是连通,看到连通两个字样,十有八九就是并查集类型的题目。结尾附赠并查集模板。我们将互相连通的电脑压缩成一个点,若最后存在 N 个点,通过观察可以发现只需要 N - 1 条线就可以进行相连。那接下来的问题就是如何去寻找这 N - 1 条线。考虑每一条线,如果线的两头已经连通(...原创 2020-01-31 21:25:21 · 154 阅读 · 0 评论 -
CCF-CSP 201509-4高速公路
题目:http://118.190.20.162/view.page?gpid=T29算法:Tarjan算法,这是讲的还不错的一篇:https://blog.youkuaiyun.com/qq_34374664/article/details/77488976总的来说,就是将强连通分量当做一棵树去处理,到最后能找出这棵树的根节点,就找到一条强连通分量。细节:记得把每个节点都走一遍,防止有漏掉的。...原创 2020-01-14 20:02:19 · 377 阅读 · 0 评论 -
Leetcode第12题 整数转罗马数字
题目:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列...原创 2019-12-19 10:26:50 · 148 阅读 · 0 评论