- 博客(30)
- 收藏
- 关注
原创 小新的字符串
小新的老师给小新出了一道难题,假如小新手里有一个字符串,小新每次操作可以将该字符串翻转后接到原来的字符串后面,例如小新原来的字符串是abc,经过一次操作后的字符串是abccba,经过两次操作的字符串是abccbaabccba,小新可以重复该操作若干次。现在给你小新经过若干次操作后的字符串,你能计算出小新最多操作了多少次吗?一个字符串,表示小新操作若干次之后的字符串,保证字符串的长度不超过105。一个整数,表示小新最多操作的次数。
2024-06-11 18:58:38 217
原创 计蒜客:T1217马走日
每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次。第一行为整数T(T < 10),表示测试数据组数。马在中国象棋以日字形规则移动。
2024-06-10 17:00:04 177
原创 深度优先搜索---迷宫搜
需要回溯(试探标记,进行递归,取消标记),要将所有方案找到,在比较步数。需要回溯(试探标记,进行递归,取消标记),要将所有方案找到。否则要判断是否可以移动到与当前位置相邻的上、下、左、右四个点。如果可以移动,就进行移动,递归地进行下一步搜索。每次搜索都要判断是否到达终点,如果到达就结束。全局变量自动清 0 ,所以不手动初始化也行。以下一步为当前点开始搜索。与dy记录x和y的变化。迷宫搜——最短路路问题。迷宫搜——方案数问题。
2024-06-10 16:20:13 1147
原创 C++图和树
需要注意区分树上的度和图上的度数的区别:树上的度指的是一个结点所拥有的子树数目,而图上的度数指的是一个结点所连接的边的条数。我们规定根结点是树的第一层,树根的孩子结点是树的第二层,以此类推,树的深度就是结点的最大层数,例如例子里的树,它的深度为。树上的每两个点之间有且只有一条简单路径,因此,我们定义树上的两个结点的距离为这两个点路径上的所有边的边权之和。图中某个结点及其下面的所有结点以及结点之间的边,被称为以该结点为根的子树,例如。父结点可以有多个孩子结点,除根结点外,其余的结点有且仅有一个父结点。
2024-05-26 16:03:33 1242
原创 约瑟夫问题
n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输出一行 n 个整数,按顺序输出每个出圈人的编号。输入两个整数 n,m。
2024-05-26 15:58:17 226
原创 洛谷P4387:【深基15.习9】验证栈序列
给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 𝑛(𝑛≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出。为了防止骗分,每个测试点有多组数据。第一行一个整数 𝑛 表示序列长度;第二行 𝑛 个整数表示入栈序列;第三行 𝑛 个整数表示出栈序列;第一行一个整数 𝑞,询问次数。对于每个询问输出答案。
2024-05-26 15:47:05 210
原创 [NOIP2011 提高组] 铺地毯
现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。接下来的 n 行中,第 i+1 行表示编号 i 的地毯的信息,包含四个整数 a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标 (a,b) 以及地毯在 x 轴和 y 轴方向的长度。如下图,1 号地毯用实线表示,2 号地毯用虚线表示,3 号用双实线表示,覆盖点 (2,2) 的最上面一张地毯是 3 号地毯。第 n+2 行包含两个整数 x 和 y,表示所求的地面的点的坐标 (x,y)。
2024-05-26 15:43:38 394
原创 [NOIP2010 提高组T1] 机器翻译
这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 𝑀−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 𝑀 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。
2024-05-26 15:36:36 789
原创 计蒜客:T3194种植兰花(也叫小新的字符串,和这个一样的)
2)(左/右)边反转后,与另一边不同。为了更好地开展副业,蒜头君决定种植魔法兰花,魔法兰花的品种由若干个字母组成的字符串S表示, 魔法兰花种下之后可以自主 “对称变异”,例如种下一株兰花品种JSK,它可能向左 “对称变异” 为品种KSJJSK,或者向右 “对称变异” 为品种KSJJSK。蒜头君邀请你去参观他的兰花种植基地, 你看到其中1朵魔法兰花的品种为S,请问该品种的魔法兰花最多可能变异了多少次。输入为1行,为一个只包含字母的非空字符串 ,长度不超过10000,表示这朵魔法兰花的品种。
2024-05-02 11:22:05 268 1
原创 计蒜客:修道院的禁忌
第一行两个数n,m,n为修道院人数,m为该注意的禁忌数(n≤11,m≤100)。洋葱妹想要打点一下关系,他听说修道院里有n个人,于是带了n个不同的礼物,但不同的宗教有着不同的禁忌,宗教A认为礼物A是一种无法饶恕的亵渎,礼物B对宗教B来说则完全不可想象。该国家的文化状态非常特别,身为君权神授的宗教国家,却对各种宗教都异常的包容,甚至明明是在同一个修道院里,却能有非常多种类的信仰共存。洋葱妹在码头的集市找到了一个本地的牙人,打听清楚了各个宗教的禁忌,但即使这样,安排礼物也是一件费心费力的事,你能帮帮她吗?
2024-04-21 13:53:27 417 1
原创 扫雷游戏
在 n行 m 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围 格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。字符’*’表示相应格子是地雷格,字符’?用’*’表示地雷格,用周围的地雷个数表示非地雷格。
2024-04-20 20:00:20 180
原创 计蒜客:二叉数
1.对于偶数位数的数 A,得到一个新数,新数为A的左子数加上右子数;2 .对于奇数位数的数 B,得到一个新数,新数为B的左子数乘上右子数;3.若新数大于9,则重复运算;自从洋葱妹学了数据结构,见识过了立体而丰满的二叉树,她感到是越看那些扁平的数字,越觉得面目可憎。于是洋葱妹决定重新定义自然数,她宣布,自然数从今以后改名叫二叉数!例如:11345根节点值为3,左子数为11,右子数为45。而5432的根节点值为空,左子数为54,右子树为32。输入有一行,第一行一个正整数 n(n≤2^30),表示最初的数字。
2024-04-20 19:24:09 432
原创 计蒜客:穿越者蒜头君
但众所周知,随着时代的发展,人民教育水平也在不断的提高,一千年前的古人编程水平自然是不如我们现代人的。这不,蒜头君苦练编程,写了一段程序,可是漏洞百出,所以蒜头君决定求助于你,你能帮帮他吗?由此我们可以规定,列值从右向左数,行值从上向下数,那么:每一列有 n个字符,因此第j列第i行存储的恰好是字符串中第 j * n + i个字符。输出的内容是一个矩阵,且其数据存储的方式是根据“从右到左,从上到下”的顺序。从右到左,从上到下的字符,注意字符矩阵中,没有字符的位置输出空格即可。
2024-04-20 18:12:46 386
原创 大整数减法(高精度减法)
共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。求两个大的正整数相减的差。
2024-04-14 14:00:48 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人