
算法
Cainell
这个作者很懒,什么都没留下…
展开
-
【无标题】
没啥原创 2022-11-12 14:13:57 · 279 阅读 · 0 评论 -
HDU - 2527 (哈夫曼树 + 优先队列)
问题描述:哈夫曼编码(Huffman Coding);一个字母的权值等于该字母在字符串中出现的频率。所以Javac++ 想让你帮忙,给你安全数值和一串字符串,并让你判断这个字符串是否是安全的?Input:输入有多组case,首先是一个数字n表示有n组数据,然后每一组数据是有一个数值m(integer),和一串字符串没有空格只有包含小写字母组成!Input:如果字符串的编码值小于等于给定的值则输出yes,否则输出no。SampleInput:212helloworld66ithinkyo原创 2022-02-12 21:46:27 · 536 阅读 · 0 评论 -
1□2□3□4□5□6□7□8□9=110
题目1□2□3□4□5□6□7□8□9=110要求在中间的8个空中填写+,-,或不填。构成的表达式判断是不是正确,正确则输出。。。。(如果空格的中没有填写符号,则这几个数组成一个新的N位数,比如1□2,可以是1+2,也可以是12)Code#include<bits/stdc++.h>using namespace std;int n; //层次int result = 0; //存储结果int symbol[9] = {-1}; //记录符号(第一个不用,从 symb原创 2021-04-01 21:15:43 · 388 阅读 · 0 评论 -
2005年浙江大学计算机学院考研上机复试 上机试题及参考答案
文章目录1.第一题 A+BC语言代码2.谁是开门关门的人?C语言代码1.第一题 A+BC语言代码#include<stdio.h>#include<string.h>#include<ctype.h>#include<malloc.h>int main(){ const char data[12][6] = {"zero", "one", "two", "three", "four", "five", "six", "seven",原创 2020-05-19 00:57:48 · 448 阅读 · 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)C++代码(2)C++代码1.题目给定一个字符串,设计一个算法消除其中成对出现的括号,如果括号不成对,提示异常(error),例如:(1,(2,3),(4,(5,6),7))转化为1,2,3,4,5,6,7;输入: (1,(2,3),(4,(5,6),7输出: error输入: (1,2,(3,4))输出: 1,2,3,42.算法(1)遍历原始数组,如果是左括号(“(”),设置括号标志位加1,如果是右括号(“)”),设置括号标志位减一,如果都不是,则把数字放入原创 2020-05-14 23:30:26 · 2419 阅读 · 0 评论 -
字符串翻转之单词顺序不变
文章目录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 评论 -
算法之HDU2899 Strange Function
HDU2899 Strange Function给一函数,该函数在任意Y>0的情况下x在[0,100]内有极小值,求之。如图这种情况先减后增有极小,若lm比rm低(即lm对应的函数值 < rm函数值)则极小点(图中最低点)肯定在[ left, rm ] ,反之在[ lm, right ],剩下就跟二分一样根据大小关系调整区间就行了。那lm和rm取值多少?一个不错的取值是lm为整...原创 2020-03-22 08:23:14 · 378 阅读 · 0 评论 -
北京大学程序设计MOOC实习之魔兽世界(二)之装备
这次作业是在第一次的基础上完成的,主要要求是完成五种武士的封装。这五种武士的特性(相应类的成员变量)不大相同,但可以从同一个基类派生。随着时间变化,生成相应的武士,并输出相关信息。描述魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部。两个司令部之间是依次排列的若干城市。红司令部,City 1,City 2,……,City n,蓝司令部两军的司令部都会制造武士。武士一共有 dragon ...原创 2020-03-22 07:25:12 · 263 阅读 · 0 评论 -
清华考研复试机试题
代理服务器使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私。我们知道n个代理服务器的IP地址,现在要用它们去访问m个服务器。这 m 个服务器的 IP 地址和访问顺序也已经给出。系统在同一时刻只能使用一个代理服务器,并要求不能用代理服务器去访问和它 IP地址相同的服务器(不然客户端信息很有可能就会被泄露)。在这样的条件下,找到一种使用代理服务器的方案,使得代理服务器切换的...原创 2020-03-15 10:39:20 · 271 阅读 · 0 评论 -
北京大学信科2017机试之鸡蛋的硬度
题目描述最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世 界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法–从高度扔鸡蛋–来 测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。你当然可以找出各种 理由说明这种方法不科学,比如同...原创 2020-03-14 21:07:16 · 315 阅读 · 0 评论 -
北京大学信科2017机试真题之水淹七军
**总时间限制: **1000ms内存限制:65536kB描述随着最后通牒的递出,C国的总攻也开始了,由于C国在地形上的优势,C国总司令下令采用水攻,剿灭A国最后的有生力量。地形图是一个M*N的矩阵,矩阵上每一个点都对应着当前点的高度。C国总司令将选择若干个点进行放水。根据水往低处流的特性,水可以往四个方向的流动,被淹的地方的水面高度便和放水点的高度一样。然而,A国不是一马平川的,所以...原创 2020-03-14 19:47:38 · 776 阅读 · 0 评论 -
Contest100000599 - 《算法笔记》6.4小节——C++标准模板库(STL)介绍->map的常见用法详解
题目链接Speech Patterns (25)思路题意就是统计一行文本中每个“单词”出现的次数,然后输出出现次数最高的单词和它出现的次数,次数最高的单词不唯一时按字典序最小输出。常规做法就是逐个读取字符串中的每个字符,遇到非数字字母字符就将单词存入map里。最后用一个for循环来找出最大次数和对应的单词。代码如下所示,因为map容器自带按字典序排序的功能,所以我们每次找到次数更大的单词时,...原创 2020-03-05 11:45:36 · 195 阅读 · 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 评论