
搜索
yangs_s
这个作者很懒,什么都没留下…
展开
-
生成序列
生成序列[题目描述] 在计算机科学领域,如何高效生成指定的序列是一个非常重要的问题。现在给你一个字符串,且这个字符串内部的字符已经升序有序。请你找出由这些字符构成的所有的序列。 [输入] 输入的第一行是一个整数n,表示测试数据组数。 接下来n行,每行输入一个字符升序有序的字符串。字符串中只包含小写字母,长度不超过8。 [输出] 对于每组输入,输出由输入的字符串中的字符构成的所有序列,按字原创 2015-07-10 15:48:39 · 1070 阅读 · 0 评论 -
输出前M个字母中任取N个的所有组合情况
[题目描述] 输入两个数M 和 N ,M>=N ,1<=M<=10,按字典序输出组合情况 [输入样例] 4 2 [输出样例] AB AC AD BC BD CD [思路] 此题和棋盘问题较为相似,都可以用搜索解决,重点在于每一个值范围的确定比较难 参考程序var a,b:array[1..50000]of longint; v:array[1..50000]of b原创 2015-07-10 16:24:29 · 1466 阅读 · 0 评论 -
棋盘问题
[题目描述] 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 [输入] 输入含有多组测试数据。 每组数据的第一行是两个正整数n和k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。(n<=8,k<=n) 当n和k原创 2015-07-10 16:33:43 · 398 阅读 · 0 评论 -
棋盘问题
题目描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。 每组数据的第一行是两个正整数n和k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。(n,k) 当n和k均原创 2015-06-08 16:49:00 · 465 阅读 · 0 评论 -
全排列问题
[题目描述] 输出自然数1~n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复数字。 [输入格式] 1<=n<=9 [输出格式] 由1~n组成的所有不重复的数字序列。每行一个序列 [输入样例] 3 [输出样例] 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 [思路分析] 本体只是在生成序列问题上简做修改,原创 2015-07-10 16:50:25 · 757 阅读 · 0 评论 -
八数码问题之哈希优化
[题目描述] 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的转变。 [输入] 输入初试状态,一行九个数字,空格用0表示 [输出] 只有一行,该行只有原创 2015-07-11 17:37:26 · 820 阅读 · 0 评论