- 博客(31)
- 收藏
- 关注
原创 历届试题 买不到的数目
问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两...
2018-07-25 14:59:55 654 1
原创 历届试题 包子凑数
问题描述 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的...
2018-07-25 14:34:29 378
原创 算法训练 接水问题
问题描述 学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始...
2018-07-24 14:10:00 1321
原创 算法训练 拦截导弹
问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要...
2018-07-24 11:19:20 279
原创 算法训练 瓷砖铺放
问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有如下5种铺法: 4=1+1+1+1 4=2+1+1 4=1+2+1 4=1+1+2 4=2+2 编程用递归的方法求解上述问题。输入格式 只有一个数N,代表地...
2018-07-24 10:42:16 802
原创 NEUQ 1454: 称球
题目描述:陈船长和xzx是同窗同房同床的好基友,异常无聊的他们决定玩称球游戏。游戏规则如下:1.有N个大小外形一模一样的球2.已知有一个球比其他球重3.他们有一架天平(天平没有游码,没有砝码,只能告诉你哪边比较重,或者一样重),谁最先找到那个球谁就获胜。在玩了一段时间之后,好奇的xzx忽然想知道最少需要称几次就能保证找到那个偏重的球呢。输入:整数T,表示数据组数(T<=50)接下来每行有一个...
2018-05-01 19:56:52 298
原创 NEUQ 1798: 想上分的鲸鱼
题目描述:王者荣耀是现在比较火的手机游戏,游戏中有70个英雄可供玩家挑选,玩家可以用这70个英雄参加排位赛提升段位。而刚玩这个游戏的鲸鱼学姐想提升到白金段位,但是她靠自己单独排位很难上分,于是她求助了另外几个学长,另外的学长也答应帮她,但是他们需要趁手的英雄,另外几个学长把他们想玩的英雄的编号告诉了鲸鱼学姐,鲸鱼学姐要根据他们给出的编号挑出五个需求量最大的英雄。然而,学姐要练车,没有时间来统计,于...
2018-05-01 19:40:39 390
原创 算法--01背包求解
01背包求解,每种物品只有一件,考虑装与不装,下面是转移方程if (背包体积j小于物品i的体积) f[i][j] = f[i-1][j] //背包装不下第i个物体,目前只能靠前i-1个物体装包else f[i][j] = max(f[i-1][j], f[i-1][j-Vi] + Wi)#include<bits/stdc++.h>using n...
2018-04-18 19:26:57 243
原创 算法--递归划分自然数
递归划分自然数的算法,简单易用#include<bits/stdc++.h>using namespace std;int num[100];void print(int k){ int i; cout<<num[0]<<"="<<num[1]; for(i=2;i<=k;i++) cout<<"+&quo
2018-04-17 21:01:53 612
原创 PTA 7-13 列车调度(25 分)求最大上升子列长度
7-13 列车调度(25 分)火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式:输入...
2018-03-15 22:14:29 1032
原创 PTA 7-9 螺旋方阵(20 分)简便解法与复杂解法
7-9 螺旋方阵(20 分)所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。输入格式:输入在一行中给出一个正整数N(<10)。输出格式:输出N×N的螺旋方阵。每行N个数字,每个数字占3位。输入样例:5输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25...
2018-03-15 22:07:13 9441
原创 PTA 7-3 验证“哥德巴赫猜想”(20 分)判断素数标准方法
7-3 验证“哥德巴赫猜想”(20 分)数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q”输出N的素数分解,其中p...
2018-03-15 21:38:42 16468 3
原创 PTA 7-29 删除字符串中的子串(20 分)strstr函数应用
7-29 删除字符串中的子串(20 分)输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male ccatatcat输出样例:Tom is a m...
2018-03-14 21:17:05 3813 8
原创 PTA 7-18 二分法求多项式单根(20 分)
7-18 二分法求多项式单根(20 分)二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)<0,则计算中点的值f((a+b)/2);如果f((a+b)/2)正好为0,则(a+b...
2018-03-14 21:06:17 2254 1
原创 PTA L1-3 阅览室(20 分)map解法
L1-3 阅览室(20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,...
2018-03-13 21:02:19 2117
原创 PTA 1019.数字黑洞 简便解法
1019. 数字黑洞 (20)时间限制100 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6...
2018-03-13 20:37:05 554 2
原创 PTA 7-22 堆栈模拟队列(25 分)c++模拟队列
7-22 堆栈模拟队列(25 分)设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item ):将元素item压入堆栈...
2018-02-25 14:36:42 3136 2
原创 PTA 7-41 PAT排名汇总(25 分)结构体排序
7-41 PAT排名汇总(25 分)计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各...
2018-02-25 09:26:18 1291
原创 PTA 7-37 模拟EXCEL排序(25 分)sort自定义排序函数
7-37 模拟EXCEL排序(25 分)Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。输入格式:输入的第一行包含两个正整数N(≤105) 和C,其中N是纪录的条数,C是指定排序的列号。之后有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0, 100]内的整数)组成,相邻属性用1个空格隔开...
2018-02-24 16:31:42 1329
原创 PTA 7-14 电话聊天狂人(25 分)map的应用
7-14 电话聊天狂人(25 分)给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附...
2018-02-24 15:52:43 2288 4
原创 PTA 7-39 魔法优惠券(25 分)暴力枚举
7-39 魔法优惠券(25 分)在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值K,表示若你在购买某商品时使用这张优惠劵,可以得到K倍该商品价值的回报!该商店还免费赠送一些有价值的商品,但是如果你在领取免费赠品的时候使用面值为正的优惠劵,则必须倒贴给商店K倍该商品价值的金额…… 但是不要紧,还有面值为负的优惠劵可以用!(真是神奇的火星)例如,给定一组优惠劵,面值分别为1、2、4、...
2018-02-24 14:16:27 1068
原创 PTA 7-45 航空公司VIP客户查询(25 分)map查找应用
7-45 航空公司VIP客户查询(25 分)不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。输入格式:输入首先给出两个正整数N(≤105)和K(≤500)。其中K是最低里程,即为照顾乘坐短程航班的会员,航空公司还会将航程低于K公里的航...
2018-02-24 14:04:52 1975 1
原创 PTA 7-5 堆中的路径(25 分)STL方法,简化版
7-5 堆中的路径(25 分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H...
2018-02-24 12:47:28 888
原创 PTA 7-24 树种统计(25 分)Map应用拓展
7-24 树种统计(25 分)随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤105),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留...
2018-02-23 14:12:58 407
原创 PTA 7-29 修理牧场(25 分)优先队列的应用
7-29 修理牧场(25 分)农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和...
2018-02-23 13:09:54 1291
原创 PTA 7-5 堆中的路径(25 分)简便解法,直接简洁
7-5 堆中的路径(25 分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H...
2018-02-22 13:37:18 1959
原创 Uva 10815 安迪的第一个字典 set数组应用实例
安迪的第一个字典(Andy's First Dictionary,Uva 10815)输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,输入单词时不区分大小写样例输入:注意请以“.”结束,不然结束不了Adventures in Disneyland .样例输出:adventuresinDisneyland这道题很适合用set数组,set数组中没有重复元素,而且自动按字典排序...
2018-02-14 11:01:03 399
原创 PTA 7-15 QQ帐户的申请与登陆(25 分)map简单结合方法
QQ帐户的申请与登陆(25 分)实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆...
2018-02-13 14:04:14 1779 2
原创 关于c++优先队列priority_queue的几点浅显认识
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出的行为特征,每次的push和pop操作,队列都会动态的调整//优先队列默认的是数据大的优先级高//STL中的优先队列priorit_queue,包含在头文件“queue”中1.优先队列的常用...
2018-02-08 14:26:18 499
原创 改写c++自带sort排序函数实例解析
改写c++自带sort排序函数实例解析c++算法库自带sort排序,这是一种高效的桶排序,效率很高,调用也很方便,大家要记得加上算法库头文件#include<algorithm> sort函数是由小到大的排序,做题时如果遇到由大到小的排序或结构体排序,就需要自己写cmp函数,下面根据几个实例介绍一下改写方法1.由大到小排序,需要自己定义一个cmp函数#include<bits/s...
2018-02-08 12:23:22 1173
原创 c++重点字符串操作函数一览,个人总结
c++重点字符串操作函数总结string.h 字符串操作strcpy 拷贝一个字符串到另一个字符串中 strcpy ( 目的字符串, 源字符串); strncpy 将一个字符串中前n个字符复制到另一个字符串中 strncpy (目的字符串, 源字符串,数目); strcat 将字符串1与字符串2相连接 strcat (字符串1, 字符串2); strncat 将一个字符串2中前n个字...
2018-02-08 09:57:12 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人