自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 C/C++ 算法分析与设计:动态规划(开心的小明)

题目描述      小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特网上查到了每件物...

2018-10-12 11:20:05 677 1

原创 C/C++ 算法分析与设计:动态规划(最长公共子序列)

题目描述       需要你做的就是写一个程序,得出最长公共子序列。       最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入    第一行给出一个整数N(0<N&...

2018-10-12 11:19:20 1473

原创 C/C++ 算法分析与设计:动态规划(最大K乘积)

题目描述设I是一个十进制整数x。如果将x划分为k段,则可得到k个整数。这k个整数的乘积称为x的一个k乘积。试设计一个算法,对于给定的x和k,求出x的最大k乘积。 输入输入文件由多组数据组成。每组数据格式如下:第1行中有2个正整数x和k。输出x的最大k乘积。样例输入15 1123 2样例输出1536#include<iostream&g...

2018-10-12 11:18:42 1207

原创 C/C++ 算法分析与设计:动态规划(最长上升子序列)

题目描述一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, ..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., aiK),这里1 <= i1 < i2 < ... < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的...

2018-10-12 11:17:47 1677

原创 C/C++ 算法分析与设计:动态规划(采药)

题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。” 如果你是辰...

2018-10-12 11:16:57 752

原创 C/C++ 算法分析与设计:递归(放苹果)

题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。样例输入14 2样例输出...

2018-10-12 11:16:06 1332

原创 C/C++ 算法分析与设计:递归(二叉树)

题目描述如下图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2, ... ,1)和(y1, y2, ....

2018-10-12 11:15:24 644

原创 C/C++ 算法分析与设计:递归(数的计数)

题目描述要求找出具有下列性质数的个数(包括输入的自然数n): 先输入一个自然数n( n <= 1000),然后对此自然数按照如下方法进行处理: (1)不作任何处理 (2)在它的左边加上一个自然数,但该数不能超过原数的一半 (3)加上数后,继续按此处理,直到不能再加自然数为止 输入多个测试案例,每个测试案例为一个自然数n。输出输出满足以上条件的所有数的个数样...

2018-10-12 11:14:33 4085 1

原创 C/C++ 算法分析与设计:递归(年龄问题)

题目描述有n个人坐在一起,问第n个人多少岁?他说比第n-1个人大m岁。问第n-1个人岁数,他说比第n-2个人大m岁。问第n-2个人,又说比第n-3人大m岁。......最后问第一个人,他说是K岁。请问第n个人多大? 输入有多组测试数据。每组一行,分别输入3个整数 n, m 和k 输出输出第n个人的岁数样例输入5 2 10样例输出18#include...

2018-10-12 11:13:39 2659

原创 C/C++ 算法分析与设计:搜索(整数因子分解)

题目描述     大于1的正整数 n 都可以分解为 n = x1 * x2 * ... * xm。例如:当n=12时,共有8种不同的分解式:12 = 1212 = 6*212 = 4*312 = 3*412 = 3*2*212 = 2*612 = 2*3*212 = 2*2*3    对于给定正整数n,计算n共有多少种不同的分解式。输入   一行一个正整数n (1&l...

2018-10-12 11:12:31 1715

原创 算法分析与设计:搜索(最少步数)

题目描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,0,0,0,1 1,1,1,1,1,1,1,1,10表...

2018-10-11 09:55:48 424

原创 C/C++ 算法分析与设计:搜索(拉丁方阵)

题目描述      构造 N*N 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=3时: 1 2 3  2 3 1 3  1 2输入n。输出输出对应的拉丁矩阵,每两个数字之间间隔一个空格,每输出n个数后换行。样例输入3样例输出1 2 32 3 13 1 2#include<iostream&g...

2018-10-11 09:55:00 1456

原创 C/C++ 算法分析与设计:搜索(滑雪)

题目描述每到冬天,信息学院的张健老师总爱到二龙山去滑雪,喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。张老师想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。    一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在下面的例子中,一条可滑行的滑坡为...

2018-10-11 09:54:09 1108

原创 C/C++ 算法分析与设计:搜索(生成排列)

题目描述        一自然数N,设N为3,则关于N的字典序排列为123,132,213,231,312,321。对于一个自然数N(1<= N <= 9 ) , 你要做的便是生成它的字典序排列。输入自然数N。输出输出对应于N的字典序排列,每个排列占一行。样例输入3样例输出1 2 31 3 22 1 32 3 13 1 23 2 1...

2018-10-11 09:49:10 534

原创 C/C++ 算法分析与设计:搜索(素数环)

题目描述将1-n这n个数摆成一个环,要求相邻的两个数的和是一个素数,编程输出所有可能的解。输入包括多组数据,每组1个数n。n<20输出所有可能的解。输出格式见样例。样例输入68样例输出Case 1:1 4 3 2 5 61 6 5 2 3 4Case 2:1 2 3 8 5 6 7 41 2 5 8 3 4 7 61 4 7 6 5...

2018-10-11 09:47:05 1147

原创 C/C++ 算法分析与设计:搜索(N皇后问题)

题目描述         检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子。         例如,可以用序列2 4 6 1 3 5来描述一个布局,第i个数字表示在第i行的相应位置有一个棋子。         请遍一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出。解按字典顺序排列。请输出...

2018-10-11 09:45:27 927

原创 C/C++ 算法分析与设计:搜索(马的走法)

题目描述        在一个4*5的棋盘上,输入马的起始位置坐标(纵、横),求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字)。输入多个测试数据。 每组2个数,表示起始位置坐标。输出输出不同走法的总数。样例输入2 21 3样例输出45964772提示DFS#include<stdio.h>int f...

2018-10-11 09:44:10 1224

原创 C/C++ 算法分析与设计:贪心(整数分解)

题目描述设n是一个正整数。现要求将n分解为k个自然数的和,且使这些自然数的乘积最大。对于给定的正整数n,编程计算最优分解方案。输入输入包括多组测试数据,每组1行,分别为n和k。(n<100,k<50)输出最大乘积。样例输入210 35 4样例输出362#include<iostream>using namespace s...

2018-10-10 09:44:33 869

原创 C/C++ 算法分析与设计:贪心(守望者的逃离)

题目描述恶魔猎手尤迫安野心勃勃.他背叛了暗夜精灵,率深藏在海底的那加企图叛变:守望者在与尤迪安的交锋中遭遇了围杀.被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去,到那时,刀上的所有人都会遇难:守望者的跑步速度,为17m/s, 以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的...

2018-10-10 09:43:47 1152

原创 C/C++ 算法分析与设计:贪心(排队接水)

题目描述N个人同时提水到一个水龙头前提水因为大家的水桶大小不一,所以水龙头注满第i(i=1,2,3......N)个人所需要的时间是T(i) 编写一个程序,对这N个人使他们花费的时间总和最小,并求出这个时间。例如有三个人a,b,c,用时分别是2,1,3 排队顺序为c,b,a的时候,c要等待3,b要等待4,c要等待6,总和为3+4+6=13 排队顺序为a,b,c的时候,a要等待2,b要等待3...

2018-10-10 09:42:58 3089

原创 C/C++ 算法分析与设计:贪心(整数配对)

题目描述江鸟想到一个有趣的问题:给你N个正整数,你可以将这N个整数按两个一组的方式成对划分,当然其中的元素也可以不和其他元素配对划分。现在的问题是,让划分为一对的元素的乘积与未配对的元素相加求和,并且让和最大。比如:考虑这个集合{0,1,2,4,5,3},如果我们让{0,3}、{2,5}分别成一对,那么得到的和为:1+4+(0*3)+(2*5)=15,当然这不是最大值,如果这样划分{4,5}、...

2018-10-10 09:42:04 566

原创 C/C++ 算法分析与设计:贪心(连数问题)

题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13、312、343连成的最大整数为:34331213。输入包含多组测试数据。每组测试数据的第1行为N(0表示结束),第2行为N个数。 输出连接成的最大整数。 样例输入313 312 3430样例输出34331213#include <std...

2018-10-10 09:41:05 920

原创 C/C++ 算法分析与设计:贪心(搬运工)

题目描述搬运工的工作非常辛苦,不仅是因为要费体力,而且干活要有技巧,不能总是用蛮力。假设你是一名搬运工,给定一个最大载重量为M公斤的卡车和N种食品,有食盐,白糖,大米等。已知第 i 种食品的拥有Wi 公斤,其商品价值为Vi元/公斤,编程确定一个装货方案,使得装入卡车中的所有物品总价值最大。输入输入数据有多组,每组第1行有2个正整数,分别为M和N(1 <= M,N <=100...

2018-10-10 09:40:11 873

原创 C/C++ 算法分析与设计:贪心(等价交换)

题目描述黑龙江的五常大米全国闻名,每年到了秋天,农民们把自己家的大米到集市上去买,但由于五常地区还是一个比较落后的地方,还实行物物交换,即农民用大米换白面,可以用来蒸馒头啊!每个集市上大米换白面的比例并不相等,如何能用最少的大米换到最多的白面呢?(单位是斤)输入输入数据有多组,每组数据的第一行有2个数:m和n,m代表大米的斤数,n代表有n集市,接下来有n行,每行2个数t1和t2,表...

2018-10-10 09:38:51 361

原创 C/C++ 算法分析与设计:贪心(过桥问题)

题目描述在漆黑的夜里,n位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,他们一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,每人所需要的时间分别是a1、a2、...an分钟;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这些人尽快过桥。输入输入分2行...

2018-10-10 09:36:10 4299 1

原创 C/C++ 算法分析与设计:贪心(找钱问题)

题目描述买火车票时经常会碰到找钱问题。售票员手中有50、20、10、5、1元的钱币,你知道怎么找钱才能使找回的零钱张数最少吗?输入多组测试数据,输入需要找钱的钱数输出对每组测试数据按下面格式输出: 第一行输出"change:",然后是你要找的钱 以下几行按面值从大到小输出要找的张数,格式如下:50 yuan: 1,如果1张也没有就不需要输出样例输入76样例输出...

2018-10-10 09:34:22 3732

原创 C/C++ 算法分析与设计:递推(穿过街道)

题目描述一个4x4城市的街道布局如下所示。从最左下方走到最右上方,每次只能往上或往右走。一共有多少种走法?                                               输入输入很多行行数,每行1个数字代表n的值,当n=0时结束(2<=n<=15)...

2018-10-08 10:51:37 462

原创 C/C++ 算法分析与设计:枚举(猜想)

题目描述      哥德巴赫(Goldbach ]C.,1690.3.18~1764.11.20)是德国数学家;出生于格奥尼格斯别尔格(现名加里宁城);曾在英国牛津大学学习;原学法学,由于在欧洲各国访问期间结识了贝努利家族,所以对数学研究产生了兴趣;曾担任中学教师。1725年,到了俄国,同年被选为彼得堡科学院院士;1725年~1740年担任彼得堡科学院会议秘书;1742年,移居莫斯科,并在俄国...

2018-10-08 10:50:25 200

原创 C/C++ 算法分析与设计:枚举(二倍的问题)

题目描述给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。输入输入包括n组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。...

2018-10-08 10:49:45 1101

原创 C/C++ 算法分析与设计:枚举(有趣的三位数)

题目描述有这样一组数,每组由三个三位数组成,并且这三个数中1~9有且仅有一次,更特殊的是这三个数中,两个较小的数相加等于另外一个数(如124 659 783)。 你的任务就是查找出所有满足上述条件的组(以组出现,并且按照升序排列(每组之间以按首元素升序。对于其中的一组,三个数也按照升序排列))。输入no input输出输出所有满足题意的组(每个组的三个数之间以一个空格)。样...

2018-10-08 10:48:56 542

原创 C/C++ 算法分析与设计:枚举(生理周期)

题目描述        人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开始,到出现...

2018-10-08 10:46:47 657

原创 C/C++ 算法分析与设计:枚举(谁获冠军?)

题目描述ABCDE五个人在运动会上分获百米(1)、二百米(2)、跳高(3)、跳远(4)和铅球冠军(5)中的一项,有四个人猜测比赛结果: 甲说:B获铅球冠军,D获跳高冠军。 乙说:A获百米冠军,E获跳远冠军。 丙说:C获跳远冠军,D获二百米冠军。 丁说:B获跳高冠军,E获铅球冠军。 其中每个人说了2句,现知道每个人说对了几句。问5人各获得哪项冠军?输入多组测试数据,每组测试数据...

2018-10-08 10:45:08 998

原创 C/C++ 算法分析与设计:枚举(分数拆分)

题目描述现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.输入第一行输入一个整数n,代表有n组测试数据。接下来n行每行输入一个正整数k输出按顺序输出对应每行的k找到所有满足条件1/k=1/x+1/y的组合样例输入22 12样例输出1/2=1/6+1/31/2=1/4+1/41/12=1/156+1/131/12=1...

2018-10-08 10:43:54 411

原创 C/C++ 算法分析与设计:枚举(完美立方)

题目描述    a3 = b3 + c3 + d3为完美立方等式。例如123 = 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1<a, b, c, d ≤N。输入    正整数N (N≤100)输出    每行输出一个完美立方,按照a的值,从小到大依次输...

2018-10-08 10:42:17 676

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除