算法设计与分析
LIS606
这个作者很懒,什么都没留下…
展开
-
低碳生活大奖赛
问题描述:某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:(1)每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 (2)每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?原创 2017-09-12 21:37:51 · 419 阅读 · 0 评论 -
工作分配问题
设有n件工作分配给n个人。将工作i分配给第j个人所需要的费用为cij。试设计一个算法,为每个人分配1件不同的工作,并使总费用达到最小。样例输入: 3 10 2 3 2 3 4 3 4 5样例输出: 9子集树求解:#include#define n 3int value[n][n]原创 2017-12-04 20:47:28 · 920 阅读 · 0 评论 -
整数变换问题
问题描述:关于整数i的变换f和g定义如下:f(i)=3i;g(i)=i/2。现要求对于给定的2个整数n和m,用最少的f和g变换次数将n变换为m。例如,可以将整数15用4次变换将它变换为整数4:4=gfgg(15)。当整数n不可能变换为整数m时,算法应如何处理?输入样例:15 4输出样例:4#includeint m=15;int n=4;int a[100]={0原创 2017-12-04 20:44:58 · 969 阅读 · 0 评论 -
勾股定理
问题描述:勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。求满足这个条件的不同直角三角形的个数。附加条件:任意两个三角形不能是相似三角形。思路:直角三角形公式:a^2+b^2=c^2. 任意两个三角形不能为相似三角形,就说明两个直角边的最大公约数为1.#include#inc原创 2017-09-12 21:08:40 · 1123 阅读 · 0 评论 -
0-1背包问题
问题描述: 给定一个容积为c的背包,去尝试装n个重量为wi、价值为vi的物体,求能装下的物体的最大价值。 #include#include#define n 5int main(){ int c=15; int w[n]={12,1,4,1,2},v[n]={4,2,10,1,2}; int num,temp; int wei原创 2017-09-12 20:26:08 · 305 阅读 · 0 评论 -
n皇后问题
问题描述: 在n*n的棋盘上放置彼此不受攻击的n个皇后,按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n*n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。设i从0-n-1控制每一行只有一个皇后,数组a[i]的值表示皇后所处的列数,把n*n的棋盘转化成n进制,n个皇后的位置一共有n原创 2017-09-12 17:11:45 · 399 阅读 · 0 评论 -
李白饮酒
问题描述:话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabba原创 2017-09-12 10:47:26 · 508 阅读 · 0 评论 -
买饮料
问题:啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒喝饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。这道题可以直接用两层for循环,一层代表啤酒数量,一层代表饮料数量,都从0循环到82,不过代码还可以优化,如果82.3元全都用来买饮料,最多可以买43罐,如果82.3元全都用来买啤酒,最多可以买35罐,(设i为饮料的数量,j为啤酒的数原创 2017-09-11 21:21:36 · 501 阅读 · 0 评论 -
子集和问题
问题描述:给定一个集合和一个正整数c,判定是否存在该集和的子集,使其所有元素的和等于给定的正整数c?思路:利用二进制,设集和中的某个数,0代表该数没被选中,1代表该数被选中。则长度为n的集和,有2^n种选择。通过for循环从0到n-1,集和中被选中的数相加,结果与正整数c相等,输出该子集和。#include#includeint main(){ int n; int a原创 2017-09-12 10:07:21 · 536 阅读 · 0 评论 -
颠倒的价牌
问题描述: 小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。其标价都是4位数字(即千元不等)。小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了。 这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0都可以。这样一来,如果牌子挂倒原创 2017-09-17 21:18:10 · 537 阅读 · 0 评论 -
警匪110
问题描述:匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 12 3 4 5 6 7 8 9 =110; 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号原创 2017-09-17 21:07:16 · 764 阅读 · 0 评论 -
派遣敢死队
问题描述: G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军)。现在G将军将接受一个特别的任务,需要派遣一部分士兵(至少一个)组成一个敢死队,为了增加敢死队队员的独立性,要求如果一名士兵在敢死队中,他的直接上级不能在敢死队中。请问,G将军有多少种派出敢死队的方法。注意,G将军也可以作为一个士兵进入敢死队。 输入的原创 2020-05-22 14:23:43 · 325 阅读 · 0 评论 -
最小长度电路板排列问题
回溯法,采用排列树求解:#include#define n 8#define m 5int arr[n][m]={ {1,1,1,1,1}, {0,1,0,1,0}, {0,1,1,1,0}, {1,0,1,1,0}, {1,0,1,0,0}, {1,1,0,1,0}, {0,0,0,0,1}, {0,1,0,0,1}};int a[n],opt[n];in原创 2017-12-05 22:19:32 · 3625 阅读 · 1 评论