SCAU数据结构
Boucy
这个作者很懒,什么都没留下…
展开
-
18769 不完整的排序
18769 不完整的排序时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description一个数组只包含正负整数,请使用一个O(n)级别的算法对其进行排序。只需将负数全部放前面,正数全部放后面即可,无需进行严格排序。题目包含T组数据。输入格式第一行一个整数T,表示数据的组数。(1<=T<=10)下面共2*T行,每两行为一组数据。第i组数组的第一行为整数n,(1<=n<=100000)表示数组的大小,原创 2021-05-03 17:21:52 · 239 阅读 · 0 评论 -
8586 括号匹配检验
8586 括号匹配检验时间限制:1000MS 代码长度限制:10KB提交次数:4447 通过次数:1864题型: 编程题 语言: G++;GCCDescription 利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即()或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的表达式,检验括号是否配对。本题给出部分check()函数,要求将check()函数补充完整,并完成整个程序。输入原创 2021-04-13 13:54:16 · 166 阅读 · 0 评论 -
18714 迷宫问题
18714 迷宫问题时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description迷宫是一个n*m的矩阵,玩家需要迷宫入口(坐标1,1)出发,寻找路径走到出口(n,m)。请判断玩家能否从迷宫中走出。输入格式第一行两个整数n和m,代表n行m列。(1<=n,m<=10)下面n行每行m个字符,0代表可以通行,1代表不可以通行。输出格式如果能从迷宫走出,输出yes,否则输出no。输入样例8 80010001原创 2021-04-21 09:39:21 · 406 阅读 · 0 评论 -
8592 KMP算法
8592 KMP算法时间限制:1000MS 代码长度限制:10KB提交次数:3113 通过次数:1558题型: 编程题 语言: G++;GCCDescription 用KMP算法对主串和模式串进行模式匹配。本题目给出部分代码,请补全内容。#include “stdio.h”#include “stdlib.h”#include “iostream.h”#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#def原创 2021-04-08 21:50:01 · 194 阅读 · 0 评论 -
队列学习
顺序存储循环队列#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"#include "iostream"#define OK 1;#define ERROR 0;#define MAXSIZE 5typedef int QElemType;//链表的顺序存储结构typedef struct { QElemType data[MAXSIZE]; int front; int r原创 2021-04-12 17:24:15 · 104 阅读 · 0 评论 -
8584 循环队列的基本操作
8584 循环队列的基本操作时间限制:1000MS 代码长度限制:10KB提交次数:3772 通过次数:1884题型: 编程题 语言: G++;GCCDescription 创建一个空的循环队列,并实现入队、出队、返回队列的长度、返回队头元素、队列的遍历等基本算法。请将下面的程序补充完整。#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"#include "iostream"#include<原创 2021-04-12 20:07:04 · 191 阅读 · 0 评论 -
3 约瑟夫问题(升级版)
输入 n个人 数到m就出圈,出一次圈m+1,找没有出圈的人#include<cstdio>#include<iostream>using namespace std;struct cir{int vis=0;int next;}cir;int main(void){int n,m,j,i=1;cin>>n>>m;int pre,nex,cur=1;struct cir* c;c=new struct cir[n+1];fo原创 2021-04-15 16:13:21 · 341 阅读 · 0 评论 -
18712 递归实现组合
18712 递归实现组合时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description找出从自然数1、2、……、m中任取k个数的所有组合,组合中字典序大的先输出。例如m=5,k=3,应输出1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 53 4 5输入格式两个整数m和k,(1<=k<=m<=10)输出格式按字典序输出所有组合输入样例5 2原创 2021-04-22 20:51:03 · 377 阅读 · 0 评论 -
18939 最长单词
18939 最长单词时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。输入格式一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。输出格式该句子中最长的单词。如果多于一个,则输出第一个。输入样例I am a student of Peking University.输出样例Un原创 2021-05-02 20:39:53 · 409 阅读 · 0 评论 -
18718 航行
18718 航行时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description银河帝国正走向覆亡。为保留文明的种子,你需要驾驶飞船将一批“颛家”从帝国首都护送至银河边缘的基地。现在已知航线是一条直线,帝国首都为起点(坐标0),基地为终点(坐标L),在这条航线上有N个空间站可以补充飞船的能源。第i个空间站的坐标为ai,飞船停靠在第i个空间站必须花费bi个银河币,同时让你的飞船能量恢复为最大值M。出发前飞船的能量是满额的M,每一原创 2021-05-03 14:54:01 · 150 阅读 · 0 评论 -
8591 计算next值
8591 计算next值时间限制:1000MS 代码长度限制:10KB提交次数:3227 通过次数:1617题型: 编程题 语言: G++;GCCDescription 编写算法,录入多个字符串计算并验证NEXT值,输入0结束。本题目给出部分代码,请补全内容。]输入格式第一行:输入n,表示有n个需计算NEXT值的字符串第二至n+1行:每行输入一个字符串输出格式第1至第n行:通过计算每相应行的字符串得出的NEXT值输入样例4abcdefgaaaaababaabcacaaab原创 2021-04-08 18:47:01 · 371 阅读 · 0 评论 -
18933 括号匹配问题
18933 括号匹配问题时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description来源于POJ3704。在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$“标注,不能匹配的右括号用”?"标注.输入格式输入包括原创 2021-04-21 21:54:53 · 449 阅读 · 1 评论 -
8587 行编辑程序
8587 行编辑程序时间限制:1000MS 代码长度限制:10KB提交次数:3976 通过次数:1807题型: 编程题 语言: G++;GCCDescription 利用栈编写简单的行编辑程序:接受用户从终端输入的程序或数据,在输入过程中,允许用户输入出差错,并在发现有误时可以及时更正。例如:当用户发现刚刚键入的一个字符是错的时,可以补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。例如:假设从终端接受原创 2021-04-13 16:07:31 · 307 阅读 · 0 评论 -
18715 出栈序列
18715 出栈序列时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description一种简洁的栈定义方法如下int st[1000],top=0;//以top作为栈顶指针,top==0为空栈st[top++]=x;//把x入栈,栈顶指针+1top–;//出栈现在有一个1-n的排列,入栈序列已知,请给出字典序最大的出栈序列。输入格式第一行一个整数n。(1<=n<=100)第二行n个整数,数据确保为1-n的排列原创 2021-04-22 20:21:18 · 466 阅读 · 0 评论 -
18942 偏爱字母
18942 偏爱字母时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description美团2021校招笔试-编程题(通用编程试题,第8场)小美喜欢字母E,讨厌字母F。在小美生日时,小团送了小美一个仅包含字母E和F的字符串,小美想从中选出一个包含字母E数量与字母F数量之差最大的子串。*子串:从字符串前面连续删去若干个字符,从后面连续删去若干个字符剩下的字符串(也可以一个都不删),例如abcab是fabcab的子串,而不是abcad的原创 2021-05-05 13:17:30 · 270 阅读 · 0 评论 -
18724 二叉树的遍历运算
18724 二叉树的遍历运算时间限制:1000MS 代码长度限制:10KB题型: 编程题 语言: 不限定Description二叉树的三种遍历都可以通过递归实现。如果我们知道一棵二叉树的先序和中序序列,可以用递归的方法求后序遍历序列。输入格式两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。输出格式一个字符串,树的后序序列。输入样例abcdebcade输出样例cbeda#define _CRT_SECURE_NO_WARN原创 2021-05-22 18:27:02 · 436 阅读 · 0 评论 -
17121 求二叉树各种节点数
17121 求二叉树各种节点数时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription构造二叉链表表示的二叉树:按先序次序输入二叉树中结点的值(一个字符),’#'字符表示空树,构造二叉链表表示的二叉树T,并求此二叉树中度为2的节点总数,度为1的节点总数,度为0的节点总数#include “stdio.h”#include “malloc.h”#define TRUE 1#define FALSE 0#def原创 2021-05-20 15:37:51 · 770 阅读 · 0 评论 -
8606 二叉树的构建及遍历操作
8606 二叉树的构建及遍历操作时间限制:1000MS 代码长度限制:10KB提交次数:2653 通过次数:1597题型: 编程题 语言: G++;GCCDescription 构造二叉链表表示的二叉树:按先序次序输入二叉树中结点的值(一个字符),’#'字符表示空树,构造二叉链表表示的二叉树T;再输出三种遍历序列。本题只给出部分代码,请补全内容。#include “stdio.h”#include “malloc.h”#define TRUE 1#define FALSE 0#def原创 2021-05-20 15:43:11 · 590 阅读 · 0 评论 -
17263 计算二叉树的第k层中所有叶子结点个数
#define _CRT_SECURE_NO_WARNINGS#include “stdio.h”#include “malloc.h”#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status;using namespace std;typedef char ElemType;int lvsnum = 0;t原创 2021-05-13 16:51:44 · 477 阅读 · 0 评论 -
8640 希尔(shell)排序
8640 希尔(shell)排序时间限制:1000MS 代码长度限制:10KB提交次数:1858 通过次数:1304题型: 编程题 语言: G++;GCCDescription用函数实现希尔(shell)排序,并输出每趟排序的结果,初始增量d=n/2,其后d=d/2输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出一趟排序结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例3 2 6 0原创 2021-05-25 16:56:16 · 724 阅读 · 0 评论 -
8622 哈希查找
8622 哈希查找时间限制:1000MS 代码长度限制:10KB提交次数:2013 通过次数:1250题型: 编程题 语言: G++;GCCDescription 使用哈希函数:H(k)=3*k MOD length,并采用开放定址法处理冲突。试对输入的关键字序列构造哈希表,哈希表长度为length,求等概率情况下查找成功的平均查找长度,并设计构造哈希表的完整的算法。本题给出部分代码,请补全Hash函数和解决冲突的collison函数。#include"malloc.h" /* malloc原创 2021-05-25 09:29:26 · 1242 阅读 · 0 评论 -
8645 归并排序(非递归算法)
8645 归并排序(非递归算法)时间限制:1000MS 代码长度限制:10KB提交次数:2398 通过次数:1192题型: 编程题 语言: G++;GCCDescription用函数实现归并排序(非递归算法),并输出每趟排序的结果输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出每趟排序的结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例4 5 0 8 3 9 2 6 1 70 4原创 2021-05-26 00:10:09 · 502 阅读 · 2 评论 -
8610 顺序查找
8610 顺序查找时间限制:1000MS 代码长度限制:10KB提交次数:2303 通过次数:1423题型: 编程题 语言: G++;GCCDescription 编写Search_Seq函数,实现在一个无序表ST中采用顺序查找算法查找值为key的元素的算法.#include"malloc.h" /* malloc()等 */#include"stdio.h"#include"stdlib.h"typedef int ElemType;typedef struct /*静态查找表的顺原创 2021-05-24 23:12:07 · 698 阅读 · 0 评论 -
8644 堆排序
8644 堆排序时间限制:1000MS 代码长度限制:10KB提交次数:1909 通过次数:1257题型: 编程题 语言: G++;GCCDescription用函数实现堆排序,并输出每趟排序的结果输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式第一行:初始建堆后的结果其后各行输出交换堆顶元素并调整堆的结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例9 7 8 6 4 3 2 5 0 1原创 2021-05-26 20:07:32 · 417 阅读 · 1 评论 -
8643 简单选择排序
8643 简单选择排序时间限制:1000MS 代码长度限制:10KB提交次数:2235 通过次数:1301题型: 编程题 语言: G++;GCCDescription用函数实现简单选择排序,并输出每趟排序的结果输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出每趟排序的结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例0 4 8 5 9 3 2 6 7 10 1 8 5 9 3 2原创 2021-05-25 17:41:34 · 214 阅读 · 0 评论 -
8639 折半插入排序
8639 折半插入排序时间限制:1000MS 代码长度限制:10KB提交次数:1738 通过次数:1371题型: 编程题 语言: G++;GCCDescription用函数实现折半插入排序,并输出每趟排序的结果.输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出一趟排序结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例4 5 8 0 9 3 2 6 7 14 5 8 0 9 3 2原创 2021-05-25 15:57:36 · 423 阅读 · 0 评论 -
8641 冒泡排序
8641 冒泡排序时间限制:1000MS 代码长度限制:10KB提交次数:3093 通过次数:1361题型: 编程题 语言: G++;GCCDescription用函数实现冒泡排序,并输出每趟排序的结果(要求当一趟冒泡过程中不再有数据交换,则排序结束)输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出每趟排序结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例4 5 0 8 3 2 6原创 2021-05-25 17:31:07 · 602 阅读 · 0 评论 -
8609 哈夫曼树
8609 哈夫曼树时间限制:1000MS 代码长度限制:10KB提交次数:3178 通过次数:1263题型: 编程题 语言: G++;GCCDescription 利用静态链表建立赫夫曼树,建树过程中要求左子树权值小于右子树权值,求各结点的编码。要求:叶子结点的个数n及结点值由键盘录入。本题给出程序代码,要求修改以满足测试要求.思路这个oj题代码模版给的乱七八糟有两个版本这个是填满模版 能够查看测试的版本 #define _CRT_SECURE_NO_WARNINGS#原创 2021-05-24 22:21:50 · 230 阅读 · 1 评论 -
18923 二叉树的直径
18923 二叉树的直径时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。1/ 2 3/ \4 5答案为3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。输入格式共n行。第一行一个整数n,表示有n个结点,编号为1至n。第二行至第n行,每行原创 2021-05-24 19:52:39 · 280 阅读 · 0 评论 -
18924 二叉树的宽度
18924 二叉树的宽度时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription二叉树的宽度指的是具有节点数目最多的那一层的节点个数。1/ 2 3/4答案为2, 第二层节点数最多,为2个节点。输入格式共n行。第一行一个整数n,表示有n个结点,编号为1至n,结点1为树根。(1<=n<=50)第二行至第n行,每行有两个整数x和y,表示在二叉树中x为y的父节点。x第一次出现时y为左孩子原创 2021-05-21 07:22:35 · 1223 阅读 · 0 评论 -
8642 快速排序
8642 快速排序时间限制:1000MS 代码长度限制:10KB提交次数:2105 通过次数:1352题型: 编程题 语言: G++;GCCDescription用函数实现快速排序,并输出每次分区后排序的结果输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出每趟排序的结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例1 4 2 0 3 5 9 6 7 80 1 2 4 3 5 9 6原创 2021-05-26 13:32:30 · 506 阅读 · 0 评论 -
8638 直接插入排序
**8638 直接插入排序时间限制:1000MS 代码长度限制:10KB提交次数:2050 通过次数:1393题型: 编程题 语言: G++;GCCDescription用函数实现直接插入排序,并输出每趟排序的结果.输入格式第一行:键盘输入待排序关键的个数n第二行:输入n个待排序关键字,用空格分隔数据输出格式每行输出一趟排序结果,数据之间用一个空格分隔输入样例105 4 8 0 9 3 2 6 7 1输出样例4 5 8 0 9 3 2 6 7 14 5 8 0 9 3原创 2021-05-25 10:16:41 · 291 阅读 · 0 评论 -
8621 二分查找
8621 二分查找时间限制:1000MS 代码长度限制:10KB提交次数:4655 通过次数:1446题型: 编程题 语言: G++;GCCDescription 编写Search_Bin函数,实现在一个递增有序数组ST中采用折半查找法确定元素位置的算法.输入格式第一行:元素个数n第二行:依次输入n个元素的值(有序)第三行:输入要查找的关键字key的值输出格式输出分两种情形:1.如果key值存在,则输出其在表中的位置x(表位置从0开始),格式为The element positi原创 2021-05-25 00:55:23 · 261 阅读 · 0 评论 -
18932 出栈序列合法性判定
18932 出栈序列合法性判定时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description每年期末考试必考题目。一个栈的进栈序列是a、b、c、d、e,则可能的出栈序列是( )。A.abecd B.decba C.dceab D.cabde输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,原创 2021-04-07 21:57:58 · 467 阅读 · 0 评论 -
8585 栈的应用——进制转换
8585 栈的应用——进制转换时间限制:1000MS 代码长度限制:10KB提交次数:2572 通过次数:1925题型: 编程题 语言: G++Description利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。输入格式第一行:输入一个非负的十进制整数输出格式第一行:与输入等值的八进制数输入样例15输出样例17#define _CRT_SECURE_NO_WARNINGS#include<ma原创 2021-04-07 21:34:27 · 349 阅读 · 2 评论 -
18928 递归实现全排列
18928 递归实现全排列时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description把 1至n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。(1<=n<=9)输出格式按照从小到大的顺序输出所有方案,每行一个方案。同一行相邻两个数用一个空格隔开。对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。输入样例3输出样例1 2 31 3 22 1 32原创 2021-04-06 22:16:23 · 353 阅读 · 0 评论 -
递归转换进制
#include<iostream>using namespace std;#include<vector>vector<int> ugly;vector<int> notugly;void dfs(int a, int b) { //当a为0即为出口 if (a == 0)return; else { //否则递归下去 下一层被除数即是a/b dfs(a / b, b); //如果取余后小于10正常输出,如果大于10用char原创 2021-04-06 21:09:20 · 90 阅读 · 0 评论 -
18005 It is not ugly number
18005 It is not ugly number时间限制:2000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescriptionUgly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, …shows thefirst 10 ugly numbers. By convent原创 2021-04-06 16:01:55 · 281 阅读 · 0 评论 -
18938 汉诺塔问题
18938 汉诺塔问题时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: 不限定Description汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。由于条件是一次只能移动一个盘原创 2021-03-31 16:10:51 · 1407 阅读 · 0 评论 -
8583 顺序栈的基本操作
8583 顺序栈的基本操作时间限制:1000MS 代码长度限制:10KB提交次数:4189 通过次数:2059题型: 编程题 语言: G++;GCCDescription 创建一个空的顺序栈,并实现栈的入栈、出栈、返回栈的长度、返回栈顶元素、栈的遍历等基本算法。请将下面的程序补充完整。输入格式测试样例格式说明:根据菜单操作:1、输入1,表示要实现Push操作,紧跟着输入要Push的元素2、输入2,表示要实现Pop操作3、输入3,返回栈顶元素4、输入4,返回栈的元素个数5、输入5原创 2021-03-27 14:50:52 · 490 阅读 · 0 评论