LQB算法训练
BIG_GENERAL_DD
好好学习,天天向上.
展开
-
湖边的烦恼-算法训练题
湖边的烦恼-算法训练题-递归问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格原创 2017-03-05 16:20:52 · 314 阅读 · 0 评论 -
ALGO-31算法训练 开心的金明
ALGO-31算法训练 开心的金明(01背包,动态规划)题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等原创 2017-02-19 20:23:21 · 330 阅读 · 0 评论 -
ALGO-21 算法训练 装箱问题
蓝桥杯 ALGO-21 装箱问题(动态规划,01背包)问题描述 :有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 :第一行为一个整数,表示箱子容量; 第二行为一个整数,表示有n个物品; 接下来n行,每行一个整数表示这n个物品的各原创 2017-02-21 19:19:10 · 902 阅读 · 0 评论 -
ALGO-30 算法训练 入学考试
蓝桥杯 ALGO-30 入学考试(01背包,动态规划)问题描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是原创 2017-02-21 19:24:42 · 361 阅读 · 0 评论 -
算法训练 字串逆序
问题描述 给定一个字符串,将这个串的所有字母逆序后输出。输入格式 输入包含一个字符串,长度不超过100,字符串中不含空格。输出格式 输出包含一个字符串,为上面字符串的逆序。样例输入tsinsen样例输出nesnist#include #include using namespace std;int main(){原创 2017-02-21 19:27:57 · 666 阅读 · 0 评论 -
算法训练 出现次数最多的数
算法训练 出现次数最多的数问题描述编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。输入格式:第一行是一个整数N,N不超过20;接下来有N行,每一行表示一个整数,并且按照从小到大原创 2017-02-21 19:53:21 · 888 阅读 · 0 评论 -
算法训练 输出商品总价
算法训练 P1101有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输出提货单的总金额。 输入格式:第一行是数据项个数N(N 输出格式:double类型的总金额。输入: 4 book 12.5 3 pen 2.5 10原创 2017-02-21 20:26:04 · 1462 阅读 · 0 评论 -
算法训练 Anagrams问题
算法训练 Anagrams问题 问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的原创 2017-02-21 20:18:30 · 401 阅读 · 0 评论 -
算法训练 链表数据求和操作
算法训练 9-7链表数据求和操作 读入10个复数,建立对应链表,然后求所有复数的和。样例输入1 21 34 52 33 12 14 22 23 31 1样例输出23+23i#include #include#includeusing namespace std;int main() { int suma原创 2017-02-21 20:16:22 · 764 阅读 · 0 评论 -
算法训练 判定字符位置
算法训练 6-3判定字符位置 返回给定字符串s中元音字母的首次出现位置。英语元音字母只有‘a’、‘e’、‘i’、‘o’、‘u’五个。 若字符串中没有元音字母,则返回0。 只考虑小写的情况。样例输入and样例输出1#include #include#includeusing namespace std;int main() {原创 2017-02-21 20:14:59 · 650 阅读 · 0 评论 -
算法训练 打印下述图形
算法训练 4-1打印下述图形问题描述 使用循环结构打印下述图形,打印行数n由用户输入。打印空格时使用"%s"格式,向printf函数传递只包含一个或多个空格的字符串" ",下同。样例输入一个满足题目要求的输入范例。例:5样例输出与上面的样例输入对应的输出。例: **** ***** ******* *********原创 2017-02-21 20:07:32 · 1620 阅读 · 0 评论 -
ALGO-146 算法训练 4-2找公倍数
ALGO-146 算法训练 4-2找公倍数问题描述 打印出1-1000所有11和17的公倍数。#include using namespace std;int main() {for(int i=1;iif(i%11==0 && i%17==0)cout}return 0; }原创 2017-02-21 20:02:49 · 393 阅读 · 0 评论 -
算法训练 2的次幂表示
算法训练 2的次幂表示 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1原创 2017-02-21 20:00:03 · 315 阅读 · 0 评论 -
ALGO-34 算法训练 纪念品分组
ALGO-34 纪念品分组(贪心算法+排序)题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中原创 2017-02-19 20:05:21 · 675 阅读 · 0 评论 -
ALGO-2 算法训练 最大最小公倍数(贪心算法)
ALGO-2 最大最小公倍数(贪心算法)问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 6思路: 注意N的取值范围,原创 2017-02-19 19:52:12 · 397 阅读 · 0 评论 -
出现次数最多的数
出现次数最多的整数-算法训练时间限制:1.0s 内存限制:512.0MB问题描述编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。输入格式:第一行是一个整数N,N不超原创 2017-03-05 16:15:07 · 408 阅读 · 0 评论 -
算法训练 统计字符次数
算法训练 统计字符次数 输入一个字符串(长度在100以内),统计其中数字字符出现的次数。样例输入Ab100cd200样例输出6#include #include using namespace std;int main() { string s; cin >> s; int cnt = 0; for(int i = 0; i < s.length()原创 2017-03-02 22:24:48 · 312 阅读 · 0 评论 -
算法训练 确定元音字母位置
算法训练 确定元音字母位置输入一个字符串,编写程序输出该字符串中元音字母的首次出现位置,如果没有元音字母输出0。英语元音字母只有‘a’、‘e’、‘i’、‘o’、‘u’五个。样例输入: hello样例输出:2样例输入: apple样例输出:1样例输入: pmp样例输出:0#include #includeusing namespac原创 2017-03-02 22:23:36 · 764 阅读 · 0 评论 -
算法训练 瓷砖铺放
算法训练 瓷砖铺放问题描述 有一长度为N(1 例如,长度为4的地面一共有如下5种铺法: 4=1+1+1+1 4=2+1+1 4=1+2+1 4=1+1+2 4=2+2 编程用递归的方法求解上述问题。输入格式 只有一个数N,代表地板的长度输出格式 输出一个数,代表所有不同的瓷砖铺放方法的总数样例输入4样例输出5原创 2017-03-02 22:21:51 · 902 阅读 · 0 评论 -
算法训练 打印乘法表
算法训练 打印乘法表#include using namespace std;int main() {for(int i = 1; i <= 9; i++) {for(int j = 1; j <= i; j++) {cout << i << "*" << j << "=" << i * j << " ";}cout << endl;}return 0;}原创 2017-03-02 22:19:28 · 305 阅读 · 0 评论 -
ALGO-29 算法训练 校门外的树
ALGO-29 算法训练 校门外的树问题描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置, 另一端在L的位置;数 轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。 已 知任一区域的起始点和终止点的坐标都是原创 2017-03-02 22:15:15 · 320 阅读 · 0 评论 -
算法训练 特殊的数字四十
算法训练 特殊的数字四十 特殊的数字四十问题描述 1234是一个非常特殊的四位数,因为它的各位数之和为10,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。每个数字占用一行。 #include using namespace std;int main() {for(int a=1;afor(int b=0;b原创 2017-03-02 22:03:59 · 574 阅读 · 0 评论 -
算法训练 最长字符串
算法训练 最长字符串求出5个字符串中最长的字符串。每个字符串长度在100以内,且全为小写字母。样例输入one two three four five样例输出three#include using namespace std;int main() { string a[5]; int m = 0; int j = -1; for(int i = 0; i原创 2017-02-28 20:29:54 · 535 阅读 · 0 评论 -
算法训练 最小乘积(基本型)
/算法训练 最小乘积(基本型)问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + 1 * 1 = -25输入格式 第一个行一个数T表示数据组数。原创 2017-02-28 20:27:41 · 757 阅读 · 0 评论 -
ALGO-11算法训练 瓷砖铺放(递归)
瓷砖铺放(递归)问题描述 有一长度为N(1#include using namespace std;int cnt = 0; void dfs(int n) {if(n==1){cnt++;return ;}if(n==2){cnt++;dfs(n - 1);return ;}dfs(n-1);原创 2017-02-19 19:13:23 · 1537 阅读 · 0 评论 -
ALGO-29 算法训练 校门外的树
ALGO-29 校门外的树(区间处理)问题描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域原创 2017-02-19 19:15:02 · 377 阅读 · 0 评论 -
ALGO-22算法训练 数的划分
ALGO-22算法训练 数的划分问题描述将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的:1,1,5; 1,5,1; 5,1,1。问有多少种不同的分法。输入:n,k(6输出:一个整数,即不同的分法。输入输出样例输入:7 3输出:4分析:递归问题,step原创 2017-02-19 19:36:19 · 593 阅读 · 0 评论 -
算法训练 寂寞的数
算法训练 寂寞的数 问题描述 道德经曰:一生二,二生三,三生万物。 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))....例如,从33开始的递增序列为原创 2017-02-21 19:37:13 · 470 阅读 · 0 评论 -
算法训练 阿尔法乘积
阿尔法乘积 算法训练题目描述计算一个整数的阿尔法乘积。对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿 尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的:4018224312 → 4*1*8*2*2*4*3*1原创 2017-02-21 19:33:35 · 1234 阅读 · 0 评论 -
算法训练 完数
算法训练 完数问题描述 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6就是“完数”。又如,28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28也是“完数”。编写一个程序,判断用户输入的一个数是否为“完数”。 输入格式:输入只有一行,即一个整数。 输出格式:输出只有一行,如果该数为完数,输出yes,原创 2017-02-25 21:15:24 · 1374 阅读 · 0 评论 -
算法训练 寻找数组中最大值
//算法训练 寻找数组中最大值 问题描述 对于给定整数数组a[],寻找其中最大值,并返回下标。输入格式 整数数组a[],数组元素个数大于1小于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。输出格式 输出最大值,及其下标样例输入33 2 1样例输出3 0//不知道为什么没有运行成功????#incl原创 2017-02-25 21:30:12 · 1128 阅读 · 0 评论 -
算法训练 平方计算
算法训练 平方计算问题描述 输入正整数a, m,输出a^2%m,其中^表示乘方,即a^2表示a的平方,%表示取余。输入格式 输入包含两个整数a, m,a不超过10000。输出格式 输出一个整数,即a^2%m的值。样例输入5 6样例输出1#include using namespace std;int main() {int a,原创 2017-02-25 21:31:38 · 425 阅读 · 0 评论 -
算法训练 开心的金明
算法训练 开心的金明问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎 么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一 个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因原创 2017-02-25 21:32:36 · 512 阅读 · 0 评论 -
算法训练 成绩的等级输出
算法训练 成绩的等级输出 输入一个百分制的成绩t后,按下式输出它的等级。等级为:90~100为A,80~89为B,70~79为C,60~69为D,0~59为E。样例输入98样例输出A#include using namespace std; int main() {double n;if(n >= 90) {cout } else i原创 2017-02-25 21:41:27 · 845 阅读 · 0 评论 -
算法训练 操作格子
算法训练 操作格子问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下原创 2017-02-26 09:50:33 · 428 阅读 · 0 评论 -
算法训练 数位分离
算法训练 数位分离 问题描述 编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示。 输入格式:输入只有一行,即一个1000以内的正整数。 输出格式:输出只有一行,即该整数的每一位数字,之间用空格隔开。 输入输出样例样例输入769样例输出7 6 9#includeusing namespace s原创 2017-02-26 10:36:30 · 890 阅读 · 0 评论 -
算法训练 数的划分
算法训练 数的划分 问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。输入格式 n,k输出格式 一个整数,即不同的分法样例输入7 3样例输出4 {四种分法为:1,1,5;1,2,4;1,3,3原创 2017-02-26 10:43:00 · 604 阅读 · 0 评论 -
算法训练 数的统计
算法训练 数的统计问题描述 在一个有限的正整数序列中,有些数会多次重复出现在这个序列中。 如序列:3,1,2,1,5,1,2。其中1就出现3次,2出现2次,3出现1 次,5出现1次。 你的任务是对于给定的正整数序列,从小到大依次输出序列中出现的数及出现的次数。输入格式 第一行正整数n,表示给定序列中正整数的个数。 第二行是n 个用空格隔开的正整数x,代表给定的原创 2017-02-28 19:45:09 · 493 阅读 · 2 评论 -
算法训练 数组排序去重
算法训练 数组排序去重 问题描述 输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素。输入格式 10个整数。输出格式 多行输出,每行一个元素。样例输入2 2 3 3 1 1 5 5 5 5样例输出1235#include #include using namespace std;int main(原创 2017-02-28 19:46:38 · 710 阅读 · 0 评论 -
算法训练 数组查找及替换
算法训练 数组查找及替换 问题描述 给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。输入格式 第一行为数组元素个数和整数b 第二行为数组各个元素输出格式 按照要求输出样例输入7 277 11 66 2原创 2017-02-28 19:47:35 · 1207 阅读 · 0 评论