随笔分类 -  搜索

摘要:子集和问题 【问题描述】 子集和问题的一个实例为〈S,t〉。其中,S={ x1, x2,…, xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得子集S1和等于c。 【编程任务】 对于给定的正整数的集合S={ x1, x2,…, xn}和正整数c,编程计算S 的一个 阅读全文
posted @ 2017-03-24 08:41 ANhour 阅读(1615) 评论(0) 推荐(0)
摘要:有重复元素的排列问题 【问题描述】 设R={ r1, r2 , …, rn}是要进行排列的n个元素。其中元素r1, r2 , …, rn可能相同。试设计一个算法,列出R的所有不同排列。 【编程任务】 给定n 以及待排列的n 个元素。计算出这n 个元素的所有不同排列。 【输入格式】 由perm.in输 阅读全文
posted @ 2017-03-24 08:37 ANhour 阅读(4883) 评论(1) 推荐(1)
摘要:题目描述 学校放寒假时,信息学竞赛辅导老师有A,B,C,D,E五本书,要分给参加培训的张、王、刘、孙、李五位同学,每人只能选一本书。老师事先让每个人将自己喜欢的书填写在如下的表格中。然后根据他们填写的表来分配书本,希望设计一个程序帮助老师求出所有可能的分配方案,使每个学生都满意。 /*每个人选择的共 阅读全文
posted @ 2017-03-24 07:55 ANhour 阅读(448) 评论(0) 推荐(0)
摘要:设有A,B,C,D,E五人从事J1,J2,J3,J4,J5五项工作,每人只能从事一项,他们的效益如下。 每人选择五项工作中的一项,在各种选择的组合中,找到效益最高的的一种组合输出。 /*相当于将五种工作排列组合,从中挑选出效率最高的*/ #include<iostream>#include<cstd 阅读全文
posted @ 2017-03-24 07:51 ANhour 阅读(409) 评论(0) 推荐(0)
摘要:任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。 当n=7共14种拆分方法: 7=1+1+1+1+1+1+1 7=1+1+1+1+1+2 7=1+1+1+1+3 7=1+1+1+2+2 7=1+1+1+4 7=1+1+2+3 7=1+1+5 7=1+2+2+2 7=1+2+4 7=1 阅读全文
posted @ 2017-03-23 14:13 ANhour 阅读(922) 评论(0) 推荐(1)
摘要:题目描述: 设有n个整数的集合{1,2,…,n},从中取出任意r个数进行排列(r<n),试列出所有的排列。 代码如下: #include<iostream>#include<cstdio>#include<cstdlib>#include<iomanip> using namespace std;i 阅读全文
posted @ 2017-03-23 14:01 ANhour 阅读(598) 评论(0) 推荐(0)
摘要:八皇后问题:要在国际象棋棋盘8*8中放八个皇后,使任意两个皇后都不能互相吃。(提示:皇后能吃同一行、同一列、同一对角线的任意棋子。) /*分析:每一列,每一行,每一个对角线只能放一个皇后,判断对角线是否能放的条件是两个皇后横纵坐标的和或者是差不能相等,若相等,则在一个对角线,不能放置,每放一个皇后, 阅读全文
posted @ 2017-03-23 11:56 ANhour 阅读(575) 评论(0) 推荐(0)
摘要:素数环:从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数。 分析:首先设有20个空位,填进20个数,可以填数的条件是这个数在之前没有出现过,并且与它的前一个数的和是 一个素数;注意第二十个数时还要判断与第一个数的和是否是一个素数。若满足条件,填数,否则填下一个数; 代码如下: #inc 阅读全文
posted @ 2017-03-23 11:39 ANhour 阅读(1945) 评论(0) 推荐(0)