
C/C++
文章平均质量分 63
HyperDai
Hyper Hyper Hyper Dai~~
展开
-
WERTYU acm
题目描述 A common typing error is to place the hands on the keyboard one row to the right of the correct position. So “Q” is typed as “W” and “J” is typed as “K” and so on. You are to decode a message原创 2017-04-29 19:16:26 · 501 阅读 · 0 评论 -
有理数的个数 STL-map实例应用
题目描述 任何一个有理数都可以表示成M/N的形式(M,N均为正整数)。例如1/2,2/4,3/6都是等值的有理数。给定若干有理数,等值有理数的值只能算一个,问这些有理数含有多少个值,并按从小到大输出各值及该值的有理数个数。 输入 第一行是整数n,表示随后有n组测试数据(n不超过10)。 每一组测试数据的第一行是一个整数m(m<=100000),随后有m行,每一行都是A/B的形式, 1<=A,原创 2017-05-02 17:31:08 · 444 阅读 · 0 评论 -
TYVJ3680 贪心算法实例
sps是zzq的好伙伴。sps一天叫来了许多个妹子。然后sps看了看这些妹子,说了m个数。这m个数中出现次数最多的数就是sps最喜欢的妹子的编号。因为sps非常专一,他最喜欢的妹子的编号出现的次数大于m的一半。你自然想知道一下sps最喜欢哪个妹子。m<=1000000。m个数均在int范围内的正数。原创 2017-04-01 21:12:04 · 400 阅读 · 0 评论 -
出栈合法性 - STL-栈的应用
题目描述 已知自然数1,2,…,N(1<=N<=100)依次入栈,请问序列C1,C2,…,CN是否为合法的出栈序列。 输入 输入包含多组测试数据。 每组测试数据的第一行为整数N(1<=N<=100),当N=0时,输入结束。 第二行为N个正整数,以空格隔开,为出栈序列。 输出 对于每组输入,输出结果为一行字符串。 如给出的序列是合法的出栈序列,则输出Yes,否则输出No。 样例输入原创 2017-05-14 23:27:40 · 1535 阅读 · 0 评论 -
线性表的基本操作实现 - 链表与顺序表
注:实验用书为 数据结构 C语言版 第2版,人民邮电出版社出版。 一、实验目的 1、掌握线性表的定义; 2、掌握线性表的基本操作,如建立、查找、插入和删除等。 二、实验内容 定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表,使其具有如下功能: 1、根据指定学生个数,逐个输入学生信息; 2、逐个显示学生表中所有学生的相关信息; 3、根据姓名进行查找,返回此学生的学号和成绩; 4原创 2017-05-14 19:38:48 · 4129 阅读 · 2 评论 -
二叉树的基本操作
一、实验目的 1、掌握二叉树的定义; 2、掌握二叉树的基本操作,如二叉树的建立、遍历、结点个数统计、树的深度计算等。 二、实验内容 (一)用递归的方法实现以下算法: 1、以二叉链表表示二叉树,建立一棵二叉树(算法5.3); 2、输出二叉树的中序遍历结果(算法5.1); 3、输出二叉树的前序遍历结果(见讲稿); 4、输出二叉树的后序遍历结果(见讲稿); 5、计算二叉树的深度(算法5.原创 2019-04-21 01:43:02 · 122062 阅读 · 65 评论 -
算术表达式求值 - 栈的应用
一、实验目的 1、掌握栈的定义及实现; 2、掌握利用栈求解算术表达式的方法。 二、实验内容 通过修改完善教材中的算法3.4,利用栈来实现算术表达式求值的算法。对算法3.4中调用的几个函数要给出其实现过程: 1、函数In(c):判断c是否为运算符; 2、函数Precede(t1,t2):判断运算符t1和t2的优先级; 3、函数Operate(a,theta,b):对a和b进行二元运算th原创 2017-05-16 17:00:58 · 13536 阅读 · 2 评论 -
学生管理系统的设计与实现 - 顺序表
注:实验用书为 数据结构 C语言版 第2版,人民邮电出版社出版。 实验题目:学生管理系统的设计与实现 实验环境:Visual C++ 6.0或其他C++环境 一、实验目的 1、掌握重要的排序算法――直接插入排序和快速排序; 2、掌握折半查找算法。 3、综合运用所学数据结构知识,提高解决实际问题的能力。 二、实验内容 设计并实现一个学生管理系统,即定义一个包含学生信息(学号,姓名,成原创 2017-05-26 00:05:41 · 19250 阅读 · 5 评论 -
Binary Search Tree(二叉搜索树)
problem description A binary search tree is a binary tree that satisfies the following properties: • The left subtree of a node contains only nodes with keys less than the node’s key. • The right s原创 2017-05-04 11:42:09 · 719 阅读 · 0 评论 -
Zipper - DFS搜索+剪枝
Problem Description Given three strings, you are to determine whether the third string can be formed by combining the characters in the first two strings. The first two strings can be mixed arbitraril原创 2017-06-04 18:41:46 · 328 阅读 · 0 评论 -
hnust - 聊天表情
题目描述 聊天时我们经常插入表情符号,如果是连续三个字符”:-)”表示高兴,而”:-(“表示悲伤。给定一段聊天信息,判定其总体的情绪。 输入 仅一行字符串,长度在1-255 之间。 输出 输出有四种情况: (1)信息中不含任何表情符号,输出”none” (2)信息中高兴表情和悲伤表情数目相同,输出”unsure” (3)信息中高兴表情数目多于悲伤表情数目,输出”happy” (4)原创 2017-05-31 21:49:04 · 637 阅读 · 0 评论 -
hnust - 水果消除 - 回溯法/深搜
“水果消除”是一款手机游戏,相信大家都玩过或玩过类似的游戏。 下面是“水果消除”游戏的一种初始状态。 消除的基本规则:如果有2个或2个以上的相同水果连在一起,则可以点选并消除。 请问在某一种状态下,有几种可以点选并消除的选择方案。 例如,对于上图所示的初始状态,将有6种点选并消除的选择方案。这6种方案依次如下图所示。 输入 先输入一个整数n,表示放水果的格子总数为n*n。n取原创 2017-05-30 16:14:58 · 721 阅读 · 0 评论 -
图的遍历 - 邻接矩阵 - 深搜与广搜
深搜与广搜图论的遍历基础。而且今天讨论的是最简单的邻接矩阵。 下图是邻接矩阵的大致概念。 在C语言中邻接矩阵的定义方式如下://-----图的邻接矩阵存储表示-----#define MaxInt 32767//表示极大值#define MVNum 100//最大顶点数typedef char VerTexType;//假设顶点的数据类型为字符型typedef int ArcType原创 2017-05-30 16:22:40 · 2275 阅读 · 1 评论 -
hdu - 逃离迷宫 - BFS
Problem Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程中,不能转原创 2017-07-20 18:40:27 · 450 阅读 · 0 评论 -
hnust - BFS_连连看游戏 - BFS
题目描述大家都玩过连连看吧!今天我们玩一个类似的游戏。在一个由10*10个小方格组成的矩形里有n(n<=10)对字符(它们是大写字符中的前n个)。矩形里有些位置是可以从上面走过,有些则不能。能走过的位置用’.’标识,不能的用’#’标识。如果2个相同字符是连通的(从一个字符能走到另一个字符,注意走的时候只能向上、下、左、右走。某个位置是有其他字符时,这个位置是不能走的),那么这对字符能够进行配对。如果原创 2017-07-20 13:20:59 · 431 阅读 · 0 评论 -
*N皇后问题 - 回溯/深搜
看题前先巩固知识: 深搜即深度优先搜索 回溯法试探法:Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。**Input**共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。原创 2017-06-04 01:19:45 · 566 阅读 · 0 评论 -
*hdu - Knight Moves(跳马) - BFS/DBFS
Problem DescriptionA friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n squ原创 2017-07-15 17:20:46 · 523 阅读 · 0 评论 -
八数码问题 - BFS
题目描述八数码问题,即在一个3×3的矩阵中有8个数(1至8)和一个空格,现在要你从一个状态转换到另一个状态,每次只能移动与空格相邻的一个数字到空格当中,问题是要你求从初始状态移动到目标状态所需的最少步数。如下图所示。 如上图所示的数据以矩阵形式给出。现在给出分别代表初始状态和目标状态的两个3*3的矩阵,请给出两个矩阵相互转化的最少步数。输入第1行-第3行:3个用空格分隔的整数,代表初始状态相应原创 2017-07-18 10:15:32 · 1160 阅读 · 0 评论 -
hnust - Help Dexter - DFS
题目描述You know Dexter, right? He is a very talented young scientist. He has a huge lab hidden inside his building. He made all possible security arrangement to keep his naughty sister Dee Dee away from h原创 2017-07-21 15:45:35 · 393 阅读 · 0 评论 -
Prime Palindromes(回文素数)
Problem DescriptionThe number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). Write a program that finds all prime原创 2017-03-18 21:49:27 · 1657 阅读 · 1 评论 -
大于N的最小回文数
题目描述Palindromic numbers are digital strings that read the same both forwards and backwards. For example, 121, 44 and 3 are Palindromic numbers, 175, 36 are not;For a given integer N, you are to find a原创 2017-07-21 20:15:39 · 3611 阅读 · 0 评论 -
hnust - 神奇密码锁 - BFS
题目描述小明忘记了旅行箱上的密码,现在他想自己暴力弄出密码来,但他又想知道最从一个数字到另一个数字最少需要多少步,现在请你帮忙。 另外,小明的密码箱很奇怪,只有四位数,上面的数字只有1到9,每次只能让每位数加1或者减1。按常识我们可以知道从1到9只需要减1,从9到1只需要加1。此外,你还能交换相邻的两个数字。如1234可以在一步后变成2134,但不能变成4231。输入第一行有一个整数:T,代表有多原创 2017-07-17 17:42:33 · 1809 阅读 · 0 评论 -
课程设计 - 单词检查
hnust 单词查找 许多应用程序,如字处理软件,邮件客户端等,都包含了单词检查特性。单词检查是根据字典,找出输入文本中拼错的单词,我们认为凡是不出现在字典中的单词都是错误单词。不仅如此,一些检查程序还能给出类似拼错单词的修改建议单词。 例如字典由下面几个单词组成: bake cake main rain vase 如果输入文件中有词vake ,检查程序就能发现其是一个错误的单词,并且给出 bake, ca原创 2017-06-13 15:01:40 · 8022 阅读 · 15 评论 -
ecnu - 计软联谊 - 游族杯 - 所有因子预处理
在计算机和软件专业的联谊会上,计算机和软件的同学相间着排成一列。现在要计算相邻两个同学的友谊度。友谊度 friend(a,b)是这么计算的:令 a, b两个整数分别是两个同学的属性,两个同学的友谊度取决于a,b第k大的公约数。如果不存在,就说明这两个同学之间完全没有友谊,友谊度为 −1。第一行是数据组数 T(1≤T≤60)。对于每组数据:第一行:首先是学生的数量n(1≤n≤10^5),约定的常数k(1≤k≤1原创 2017-05-21 23:15:05 · 533 阅读 · 0 评论 -
STL专题之map案例
案例一:sailormoon sort Problem Description As is known to all, long long ago sailormoon once was an association of fighters. Till now, sailormoon is also an association of girls. Owe to some unknown rea原创 2017-05-04 13:38:45 · 582 阅读 · 0 评论 -
对 质数筛法 和 质因数分解 的模版实验 - 数论
实验环境:win10 实验IDE:codeblocks概念质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。素数判断按照定义,最暴力的素数判断方法是遍历(2-N-1)的所有数,看它能否被N整除,只要出现一个能整除的,它就不是素数。在我们数论中,素数有更高效的判断方法,就是只要判断2-sqrt(n)之间的数是原创 2017-07-27 10:16:41 · 633 阅读 · 0 评论 -
动态规划快速入门 之 经典的数塔问题
数塔问题练习网址 戳这<<<题目要求题意给定一个具有 N 层的数字三角形,从顶至底有多条路径,每一步可沿左斜线向下或沿右斜线向下,路径所经过的数字之和为路径得分,请求出最大路径得分。 输入1 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5输出30状态设计显然满足重叠子问题和最优子结构性质。递推公式:DP(X,Y) = max(DP(X+1,Y),DP(X+1,Y+原创 2017-08-08 11:06:36 · 6321 阅读 · 0 评论 -
KMP字符串模式匹配算法实现
给定字符串S和匹配串T,请你求出匹配串T在S中第一次正确匹配的索引位置。若匹配失败则返回0。如题,C++版本的KMP代码模版如下:#include<iostream>#include<cstring>#include<cstdio>原创 2017-07-27 23:48:02 · 511 阅读 · 0 评论 -
Water Gate Management - 子集生成
Problem Description A dam has n water gates to let out water when necessary. Each water gate has its own capacity, water path and affected areas in the downstream. The affected areas may have a risk of原创 2017-05-11 00:02:59 · 503 阅读 · 0 评论 -
哈夫曼树的带权路径长度 - STL - priority_queue(单调队列)
题目描述给定n个权值作为n个叶子结点,构造哈夫曼树, 求其带权路径长度。输入输入由多组数据组成。 每组数据分成两行。第一行仅一个整数n(2输出对于每组测试数据,输出一行,即其对应哈夫曼树的带权路径长度对1000000007取模。样例输入4 7 5 2 4 8 5 29 7 8 14 23 3 11样例输出35 271提示注意运原创 2017-07-04 23:07:29 · 2105 阅读 · 1 评论 -
Vampire Numbers - STL - set应用实例
Problem Description The number 1827 is an interesting number, because 1827=21*87, and all of the same digits appear on both sides of the ‘=’. The number 136948 has the same property: 136948=146*938.原创 2017-05-06 20:01:29 · 538 阅读 · 0 评论 -
hdu - 小希的迷宫 - 并查集
Problem Description上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路)。小希现原创 2017-06-06 17:28:01 · 431 阅读 · 0 评论 -
*hdu - 畅通工程 - 并查集
Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行原创 2017-06-06 17:19:20 · 441 阅读 · 0 评论 -
还是畅通工程 - 两种经典最小生成树算法的实战
Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间原创 2017-05-29 16:16:41 · 425 阅读 · 0 评论 -
无线网络 - 并查集
一场地震在东南亚发生了。不幸的是ACM组织通过电脑建立的无线网络遭到了毁灭性的影响—--网络中所有的电脑都损坏了。在陆续的维修电脑之后,无线网络有逐渐开始再一次运作了。由于硬件的制约,每两台电脑只能保持不超过d米的距离,才可以直接进行通讯。但是每台电脑又可以作为其它两台电脑通讯的中介点,也就是说假设A电脑与B电脑不在能直接通讯的的范围内,但是它们可以通过同时能与A和B电脑通讯的C电脑建立间接通讯关系。在维修的过程中原创 2017-06-05 21:50:09 · 445 阅读 · 0 评论 -
UVA Meeting Room Arrangement - 贪心
Problem Description Faculty of Engineering of PSU has a large meeting room for faculty staff to organize events and meetings. The use of the meeting room must be reserved in advance. Since the meeting原创 2017-05-01 11:14:12 · 537 阅读 · 0 评论 -
大数阶乘的位数
求一个数阶乘位数,大数阶乘的位数,如何快速判断阶乘位数原创 2017-08-16 18:05:15 · 2419 阅读 · 0 评论 -
并查集总结
并查集详解 - ACM并查集算法 - 并查级特点并查集总结总结两点就是“并”和“查”。何谓“并查集”定义并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。具体操作将编号分别为1…N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素代表所在集合原创 2017-06-05 22:40:55 · 404 阅读 · 0 评论 -
hdu - GCC - 取模与同余 - 数论
GCCProblem DescriptionThe GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various programming languages. But it doesn’t contains the math operator “!”.In mathematics the symbol represents th原创 2017-03-25 13:36:26 · 419 阅读 · 0 评论 -
*最短路径 Bellman-Ford & SPFA 算法实战
POJ - Wormholes-3259DescriptionWhile exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to it原创 2017-08-11 20:11:55 · 355 阅读 · 0 评论