- 博客(5)
- 收藏
- 关注
原创 Codeforces Round #767 (Div. 2) C- Meximum Array
题号C - Meximum Array C - Meximum Array 思路:双指针算法 1.首先求出原数组的mex值 2.枚举原数组,将0~mex-1之间的数删除 (删除时可以添加一个st数组表示该数字是否被删除) 3.如果原数组中的某个数被删完,要更新mex的值 //双指针算法 #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include &
2022-01-24 11:03:23
458
原创 移动距离---第六届蓝桥杯省赛C++B组
题目 X星球居民小区的楼房全是一样的,并且按矩阵样式排列。 其楼房的编号为 1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为 6 时,开始情形如下: 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 … 我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。 输入格式 输入共一行,包含三个整数 w,m,n,w 为排号宽度,m,n 为待计算的楼号。 输出格式 输出一个整数,表示 m,n 两楼间最短移动
2021-04-11 19:12:53
1696
8
原创 螺旋折线—第九届蓝桥杯c/c++B组
题目 如下图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 (X,Y) ,我们定义它到原点的距离 dis(X,Y) 是从原点到 (X,Y) 的螺旋折线段的长度。 例如 dis(0,1)=3,dis(−2,−1)=9 给出整点坐标 (X,Y) ,你能计算出 dis(X,Y) 吗? 输入格式 包含两个整数 X,Y 。 输出格式 输出一个整数,表示 dis(X,Y) 。 数据范围 −109≤X,Y≤109 输入样例: 0 1 输出样例: 3 思路 n代表圈数 我们将所有的点标出来可以发现上图的规律 绿色
2021-04-10 22:25:23
2085
7
原创 DFS解决排列问题
dfs思想 思想是从一个顶点开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底。 全排列问题 题目 排列与组合是常用的数学方法。 先给一个正整数 ( 1 < = n < = 10 ) 例如n=3,所有组合,并且按字典序输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 输入 输入一个整数n( 1<=n<=10) 输出 输出所有全排列 每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有空格) #incl
2021-04-08 18:22:11
1393
6
原创 二叉树的实现(链表)以及三种遍历方式(递归)
三种遍历方式 L:代表左结点; D:代表根结点; R:代表右结点; (1) 前序遍历:DLR(先遍历根结点,之后遍历左结点,最后遍历 右结点) (2)中序遍历:LDR(先遍历左结点,之后遍历根结点,最后遍历 右结点) (3)后序遍历:LRD(先遍历左结点,之后遍历右结点,最后遍历 根结点) 下面为代码 #include <stdio.h> #include <stdlib.h> typedef char
2021-03-30 21:14:15
1066
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅