算法设计与分析实验考核复习题

合集下载

《算法设计与分析》复习题

《算法设计与分析》复习题

填空1.直接或间接地调用自身的算法称为 递归 。

2.算法的复杂性是 算法效率 的度量,是评价算法优劣的重要依据。

3.以广度优先或以最小耗费方式搜索问题解的算法称为 分支限界法。

4.回溯法解题的显著特点是在搜索过程中动态产生问题的解空间。

在任何时刻,算法只保存从根结点到当前扩展结点的路径。

如果解空间树中从根结点到叶结点的最长路径的长度为h(n),则回溯法所需的计算空间通常为 o(h(n)) 。

5.人们通常将问题的解决方案分为两大类:一类是可以通过执行若干个步骤就能得出问题6.算法就是一组有穷的 规则 ,它们规定了解决某一特定类型问题的 一系列运算 。

7.在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。

3个基本计算模型是 随机存取机、 随机存取存储程序机 、 图灵机 。

8.快速排序算法的性能取决于 划分的对称性 。

9.计算机的资源最重要的是 内存 和 运算 资源。

因而,算法的复杂性有时间 和 空间 之分。

10.贪心算法总是做出在当前看来 最优 的选择。

也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的 局部最优解 。

11.许多可以用贪心算法求解的问题一般具有2个重要的性质: 最优子结构的 性质和 贪心选择的 性质。

12.常见的两种分支限界法为 队列式 和 优先队列式 。

13.解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中需要排序的是 回溯法 ,不需要排序的是 动态规划和分支限界法 。

14.f ( n ) = 6 × 2n + n 2,f(n)的渐进性态f ( n ) = O ( 2^n )。

15.对于含有n 个元素的排列树问题,最好情况下计算时间复杂性为 ,最坏情况下计算时间复杂性为 n! 。

16.在忽略常数因子的情况下,O 、Ω和Θ三个符号中, Θ 提供了算法运行时间的一个上界。

17.回溯法的求解过程,即在问题的解空间树中,按 深度优先 策略从根结点出发搜索解空间树。

算法设计与分析实验考核复习题

算法设计与分析实验考核复习题

1、给定已经排好序的n个元素的数组,设计二分搜索方法的递归算法。

public class binarySearch {public static void main(String[] args) {int []a={1,3,5,7,9,11,13,15};for(int i=0;i<a.length;i++){System.out.println(a);}int b=9;int result=Binary(a, b, 0, a.length-1);if(result>0)System.out.println(result);else System.out.println("沒有這個數");}public static int Binary(int[]a,int b,int left,int right) {if(left>right)return -1;int middle=(left+right)/2;if(b==a[middle])return middle;else if(b>a[middle])return Binary(a, b, middle+1, right);elsereturn Binary(a, b, left, middle-1);}}2、试实现n个元素的归并排序算法,并分析其效率。

import java.util.Scanner;public class MergeSort {public static void main(String[] args) {int n;Scanner in=new Scanner(System.in);n=in.nextInt();int[] a=new int[n];for(int i=0;i<n;i++){a[i]=in.nextInt();}System.out.println("排序前的数组:");print(a);mergeSort(a);System.out.println("排序后的数组:");print(a);}private static void mergeSort(int[] a) {sort(a,0,a.length-1);}private static void sort(int[] a, int left, int right) {if(left>=right)return ;int middle=(left+right)/2;sort(a, left, middle);sort(a,middle+1,right);merge(a,left,middle,right);}private static void merge(int[] a, int left, int middle, int right) { int[] b=new int[a.length];int k=middle+1;int i=left;int j=left;while((left<=middle)&&(k<=right)){if(a[left]<=a[k])b[i++]=a[left++];else{b[i++]=a[k++];}}while(k<=right){b[i++]=a[k++];}while(left<=middle){b[i++]=a[left++];}while(j<=right){a[j]=b[j];j++;}}private static void print(int[] a) {for (int i = 0; i < a.length; i++) {System.out.print(a[i]+"\t");}System.out.println();}}3、最优服务次序问题设有n 个顾客同时等待一项服务。

设计与算法分析考试题库

设计与算法分析考试题库

设计与算法分析考试题库一、选择题(每题2分,共20分)1. 在算法分析中,时间复杂度用来衡量算法的什么?A. 可读性B. 执行速度C. 资源消耗D. 可维护性2. 以下哪个排序算法的时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 选择排序D. 堆排序3. 动态规划与分治算法的主要区别是什么?A. 递归使用B. 子问题重叠C. 问题分解方式D. 算法效率4. 递归算法的基本原理是什么?A. 循环调用B. 重复执行C. 问题分解D. 迭代求解5. 在图算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于?A. 搜索顺序B. 搜索深度C. 使用的数据结构D. 搜索效率6. 哈希表的冲突解决方法中,开放定址法和链地址法的主要区别是什么?A. 存储方式B. 冲突处理机制C. 访问速度D. 空间利用率7. 贪心算法在解决优化问题时,其选择的策略是?A. 随机选择B. 局部最优C. 全局最优D. 动态选择8. 以下哪个算法是解决最近公共祖先问题的?A. 二分查找B. 欧拉路径C. 弗洛伊德算法D. 树的深度优先搜索9. 算法的时间复杂度为O(1)表示该算法的执行时间与输入规模的大小?A. 成正比B. 成反比C. 无关D. 指数关系10. 在大O符号中,O(1)、O(log n)、O(n)、O(n log n)、O(n^2)、O(2^n),按算法效率从高到低排序正确的是?A. O(1), O(log n), O(n), O(n log n), O(n^2), O(2^n)B. O(2^n), O(n^2), O(n log n), O(n), O(log n), O(1)C. O(1), O(log n), O(n log n), O(n), O(n^2), O(2^n)D. O(1), O(n), O(log n), O(n log n), O(n^2), O(2^n)二、简答题(每题10分,共30分)11. 简述二分查找算法的基本思想及其时间复杂度。

算法设计与分析试卷及答案

算法设计与分析试卷及答案

算法设计与分析1、(1) 证明:O(f)+O(g)=O(f+g)(7分)(2) 求下列函数的渐近表达式:(6分)① 3n 2+10n;② 21+1/n;2、对于下列各组函数f(n)和g(n),确定f(n)=O(g(n))或f(n)=Ω(g(n))或f(n)=θ(g(n)),并简述理由。

(15分)(1);5log )(;log )(2+==n n g n n f (2);)(;log )(2n n g n n f == (3);log )(;)(2n n g n n f == 3、试用分治法对数组A[n]实现快速排序。

(13分)4、试用动态规划算法实现最长公共子序列问题。

(15分)5、试用贪心算法求解汽车加油问题:已知一辆汽车加满油后可行驶n 公里,而旅途中有若干个加油站。

试设计一个有效算法,指出应在哪些加油站停靠加油,使加油次数最少。

(12分)6、试用动态规划算法实现下列问题:设A 和B 是两个字符串。

我们要用最少的字符操作,将字符串A 转换为字符串B ,这里所说的字符操作包括:(1)删除一个字符。

(2)插入一个字符。

(3)将一个字符改为另一个字符。

将字符串A 变换为字符串B 所用的最少字符操作数称为字符串A 到B 的编辑距离,记为d(A,B)。

试设计一个有效算法,对任给的两个字符串A 和B ,计算出它们的编辑距离d(A,B)。

(16分)⎣⎦2/)(;3)(i i g i i f ==。

对于给定的两个整数n 和m ,要求用最少的变换f 和g 变换次数将n 变为m 。

(16分)1、⑴证明:令F(n)=O(f),则存在自然数n 1、c 1,使得对任意的自然数n ≥n 1,有:F(n)≤c 1f(n)……………………………..(2分)同理可令G(n)=O(g),则存在自然数n 2、c 2,使得对任意的自然数n ≥n 2,有:G(n)≤c 2g(n)……………………………..(3分)令c 3=max{c 1,c 2},n 3=max{n 1,n 2},则对所有的n ≥n 3,有: F(n)≤c 1f(n)≤c 3f(n)G(n)≤c 2g(n)≤c 3g(n)……………………………..(5分) 故有:O(f)+O(g)=F(n)+G(n)≤c 3f(n)+c 3g(n)=c 3(f(n)+g(n)) 因此有:O(f)+O(g)=O(f+g)……………………………..(7分) ⑵ 解:① 因为;01033)103(lim 222=+-+∞→n n n n n n 由渐近表达式的定义易知: 3n 2是3n 2+10n 的渐近表达式。

算法分析与设计考试复习题及参考答案

算法分析与设计考试复习题及参考答案
一、简要回答下列问题 : 1. 算法重要特性是什么? 2. 算法分析的目的是什么? 3. 算法的时间复杂性与问题的什么因素相关? 4. 算法的渐进时间复杂性的含义? 5. 最坏情况下的时间复杂性和平均时间复杂性有什么不同? 6. 简述二分检索(折半查找)算法的基本过程。 7. 背包问题的目标函数和贪心算法最优化量度相同吗? 8. 采用回溯法求解的问题,其解如何表示?有什么规定? 9. 回溯法的搜索特点是什么? 10. n皇后问题回溯算法的判别函数place的基本流程是什么? 11. 为什么用分治法设计的算法一般有递归调用? 12. 为什么要分析最坏情况下的算法时间复杂性? 13. 简述渐进时间复杂性上界的定义。 14. 二分检索算法最多的比较次数? 15. 快速排序算法最坏情况下需要多少次比较运算? 16. 贪心算法的基本思想? 17. 回溯法的解(x1,x2,……xn)的隐约束一般指什么? 18. 阐述归并排序的分治思路。 19. 快速排序的基本思想是什么。 20. 什么是直接递归和间接递归?消除递归一般要用到什么数据结 构? 21. 什么是哈密顿环问题? 22. 用回溯法求解哈密顿环,如何定义判定函数? 23. 请写出prim算法的基本思想。 二、复杂性分析 1、 MERGESORT(low,high) if low<high; then mid←(low,high)/2; MERGESORT(low,mid); MERGESORT(mid+1,high); MERGE(low,mid,high); endif end MERGESORT 2、 procedure S1(P,W,M,X,n) i←1; a←0
15..最坏情况下快速排序退化成冒泡排序,需要比较n2次。 16. 是一种依据最优化量度依次选择输入的分级处理方法。基本思 路是:首先根据题意,选取一种量度标准;然后按这种量度标准对这n 个输入排序,依次选择输入量加入部分解中。如果当前这个输入量的加 入,不满足约束条件,则不把此输入加到这部分解中。 17.回溯法的解(x1,x2,……xn)的隐约束一般指个元素之间应满 足的某种关系。 18. 将数组一分为二,分别对每个集合单独排序,然后将已排序的 两个序列归并成一个含n个元素的分好类的序列。如果分割后子问题还 很大,则继续分治,直到一个元素。 19.快速排序的基本思想是在待排序的N个记录中任意取一个记录, 把该记录放在最终位置后,数据序列被此记录分成两部分。所有关键字 比该记录关键字小的放在前一部分,所有比它大的放置在后一部分,并 把该记录排在这两部分的中间,这个过程称作一次快速排序。之后重复 上述过程,直到每一部分内只有一个记录为止。 20.在定义一个过程或者函数的时候又出现了调用本过程或者函数 的成分,既调用它自己本身,这称为直接递归。如果过程或者函数P调 用过程或者函数Q,Q又调用P,这个称为间接递归。消除递归一般要用 到栈这种数据结构。 21.哈密顿环是指一条沿着图G的N条边环行的路径,它的访问每个 节点一次并且返回它的开始位置。 22.当前选择的节点X[k]是从未到过的节点,即X[k]≠X[i](i=1,2, …,k-1),且C(X[k-1], X[k])≠∞,如果k=-1,则C(X[k], X[1]) ≠∞。 23. 思路是:最初生成树T为空,依次向内加入与树有最小邻接边 的n-1条边。处理过程:首先加入最小代价的一条边到T,根据各节点到 T的邻接边排序,选择最小边加入,新边加入后,修改由于新边所改变 的邻接边排序,再选择下一条边加入,直至加入n-1条边。 二、复杂性分析 1、 递归方程

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案

《算法设计与分析》复习题参考答案一、概念题:请解释下列术语。

1.数据元素的集合。

2.队列是一个线性表,限制为只能在固定的一端进行插入,在固定的另一端进行删除。

3.对于算法a,如果存在一多项式p(),使得对a的每个大小为n的输入,a的计算时间为o(p(n)),则称a具有多项式复杂度4.二叉树的层数i与该层上的结点数n的关系为:n(i)=i2。

5.如果可满足性约化为一个问题L,则称该问题为NP-难度的。

6.算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算。

7.多数据单指令流8.若图的任意两个节点间均存在路径可达,则称该图为连通图。

9. 是指一个数学模型以及定义在该模型上的一组操作。

10.算法的复杂度只能用指数函数对其限界。

11.函数或过程直接或间接调用它自己。

12.和高度相同的满二叉树的每个对应的顶点编号相同的树13.由所有可行状态所构成的树。

14.如果L时NP难度的且L∈NP,则称问题L是NP-完全的。

15.算法是一个步骤的序列,满足:有穷性、可行性、确定性、输入、输出;过程不需要满足由穷性。

16.有向图的每条边有起点与终点之分,且用箭头指向边的终点。

无向图的边无起点和终点之分,边无箭头。

17.树(tree)是一个或多个结点的有限集合,,它使得:①有一个特别指定的称作根(root)的结点;②剩下的结点被分成m≥0个不相交的集合tl,…,tm,这些集合的每一个都是一棵树,并称t1,…,tm为这根的子树(subtree)。

18.P是所有可在多项式时间内用确定算法求解的判定问题的集合。

19.运算结果是唯一确定的算法20. nP是所有可在多项式时间内用不确定算法求解的判定问题的集合二、填空题1.n2.O ( n )3.最优化问题4.宽度优先搜索5.结点的最大级数6.互异7.内结点和外结点8.方形9.内部路径长度、外部路径长度10.一次11.归并分类算法12.贪心选择性质13.最优子结构14.二元归并15.最小成本生成树16.最优性17.最优决策18.可容许最大成本c19.最小成本三、程序填空题。

(完整版)算法设计与分析考试题及答案

(完整版)算法设计与分析考试题及答案

一、填空题(20分)1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_________,________,________,__________,__________。

2.算法的复杂性有_____________和___________之分,衡量一个算法好坏的标准是______________________。

3.某一问题可用动态规划算法求解的显著特征是____________________________________。

4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y的一个最长公共子序列_____________________________。

5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含___________。

6.动态规划算法的基本思想是将待求解问题分解成若干____________,先求解___________,然后从这些____________的解得到原问题的解。

7.以深度优先方式系统搜索问题解的算法称为_____________。

8.0-1背包问题的回溯算法所需的计算时间为_____________,用动态规划算法所需的计算时间为____________。

9.动态规划算法的两个基本要素是___________和___________。

10.二分搜索算法是利用_______________实现的算法。

二、综合题(50分)1.写出设计动态规划算法的主要步骤。

2.流水作业调度问题的johnson算法的思想。

3.若n=4,在机器M1和M2上加工作业i所需的时间分别为a i和b i,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。

4.使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。

(完整版)算法设计与分析考试题及答案,推荐文档

(完整版)算法设计与分析考试题及答案,推荐文档
法好坏的标准是______________________。 3.某一问题可用动态规划算法求解的显著特征是
____________________________________。 4.若序列 X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列
X 和 Y 的一个最长公共子序列_____________________________。 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至

之分。
5、 f(n)= 6×2n+n2,f(n)的渐进性态 f(n)= O(
)
6、 贪心算法总是做出在当前看来
的选择。也就是说贪心算法并不从整体最优考
虑,它所做出的选择只是在某种意义上的

7、 许多可以用贪心算法求解的问题一般具有 2 个重要的性质:
性质和
性质。
二、简答题(本题 25 分,每小题 5 分)
五、算法理解题(本题 5 分) 设有 n=2k 个运动员要进行循环赛,
现设计一个满足以下要求的比赛日程表:
①每个选手必须与其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次;
③循环赛要在最短时间内完成。
我去(人1)如也果 就n=2k有,循人环赛!最少为需要U进R行扼几天腕; 入站内信不存在向你偶同意调剖沙 (2)当 n=23=8 时,请画出循环赛日程表。
六、算法设计题(本题 15 分) 分别用贪心算法、动态规划法、回溯法设计 0-1 背包问题。要求:说明所使用的算法
策略;写出算法实现的主要步骤;分析算法的时间。 七、算法设计题(本题 10 分)
建议收藏下载本文,以便随时学习! 通过键盘输入一个高精度的正整数 n(n 的有效位数≤240),去掉其中任意 s 个数字后, 剩下的数字按原左右次序将组成一个新的正整数。编程对给定的 n 和 s,寻找一种方案, 使得剩下的数字组成的新数最小。 【样例输入】 178543 S=4 【样例输出】 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、给定已经排好序的n个元素的数组,设计二分搜索方法的递归算法。

public class binarySearch {public static void main(String[] args) {int []a={1,3,5,7,9,11,13,15};for(int i=0;i<a.length;i++){System.out.println(a);}int b=9;int result=Binary(a, b, 0, a.length-1);if(result>0)System.out.println(result);else System.out.println("沒有這個數");}public static int Binary(int[]a,int b,int left,int right) {if(left>right)return -1;int middle=(left+right)/2;if(b==a[middle])return middle;else if(b>a[middle])return Binary(a, b, middle+1, right);elsereturn Binary(a, b, left, middle-1);}}2、试实现n个元素的归并排序算法,并分析其效率。

import java.util.Scanner;public class MergeSort {public static void main(String[] args) {int n;Scanner in=new Scanner(System.in);n=in.nextInt();int[] a=new int[n];for(int i=0;i<n;i++){a[i]=in.nextInt();}System.out.println("排序前的数组:");print(a);mergeSort(a);System.out.println("排序后的数组:");print(a);}private static void mergeSort(int[] a) {sort(a,0,a.length-1);}private static void sort(int[] a, int left, int right) {if(left>=right)return ;int middle=(left+right)/2;sort(a, left, middle);sort(a,middle+1,right);merge(a,left,middle,right);}private static void merge(int[] a, int left, int middle, int right) { int[] b=new int[a.length];int k=middle+1;int i=left;int j=left;while((left<=middle)&&(k<=right)){if(a[left]<=a[k])b[i++]=a[left++];else{b[i++]=a[k++];}}while(k<=right){b[i++]=a[k++];}while(left<=middle){b[i++]=a[left++];}while(j<=right){a[j]=b[j];j++;}}private static void print(int[] a) {for (int i = 0; i < a.length; i++) {System.out.print(a[i]+"\t");}System.out.println();}}3、最优服务次序问题设有n 个顾客同时等待一项服务。

顾客i需要的服务时间为ti ,1 ≤i≤n。

应如何安排n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。

对于给定的n个顾客需要的服务时间,编程计算最优服务次序。

Input第一行是正整数n,表示有n 个顾客。

接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。

(n < 10000)Output将编程计算出的最小平均等待时间输出Sample Input1056 12 1 99 1000 234 33 55 99 812Sample Output532.00import java.util.Scanner;public class test3 {static int n;public static void main(String[] args) {Scanner nn=new Scanner(System.in);n=nn.nextInt();int[] a = new int[n];Scanner in=new Scanner(System.in);{for(int i=0;i<n;i++)a[i]=in.nextInt();}sort(a);Q(a);}private static void Q(int[] b) {int[] c=new int [n];int m=0;float ave;for (int i = 0; i < b.length; i++) {for (int j = 0; j <=i; j++) {c[i]=c[i]+b[j];}}for (int i = 0; i < c.length; i++) {m=m+c[i];}ave=m/n;System.out.println(ave);}private static void sort(int [] a) {int temp;for (int i = 0; i < a.length-1; i++) {for (int j = i+1; j < a.length; j++) {if(a[i]>a[j]){temp=a[j];a[j]=a[i];a[i]=temp;}}}}}4、加油次数。

一辆汽车加满油后可行驶n公里。

旅途中有若干个加油站。

设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。

对于给定的n和k(k <= 1000)个加油站位置,编程计算最少加油次数。

Input有多个测试用例。

每个测试用例输入数据的第一行有2 个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。

接下来的1 行中,有k+1 个整数,表示第k个加油站与第k-1 个加油站之间的距离。

第0 个加油站表示出发地,汽车已加满油。

第k+1 个加油站表示目的地。

当输入n,k都是0的时候表示测试结束。

Output将编程计算出的最少加油次数输出,每个测试用例输出一行。

如果无法到达目的地,则输出"No Solution"。

Sample Input7 71 2 3 4 5 1 6 65 150 50 0Sample Output4No Solutionimport java.util.Scanner;public class test4 {public static void main(String[] args) {int n;int k;Scanner b=new Scanner(System.in);n=b.nextInt();k=b.nextInt();int[] a = new int[k+1];Scanner in=new Scanner(System.in);for (int i = 0; i <=k; i++)a[i]=in.nextInt();int sum=0;int s;s=n;for (int i = 0; i <=k; i++) {if(s<a[i])System.out.println("No Solution");}for (int j = 0; j<=k-1; j++) {s=s-a[j];if(s-a[j+1]<0){s=n;sum++;}}System.out.print(" "+sum);}5、最长单调递增子序列。

求一个字符串的最长递增子序列的长度:如:dabdbf最长递增子序列就是abdf,长度为4 输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137import java.util.ArrayList;import java.util.Scanner;public class test5 {public static int Q(char[] a,int n){int i,j,k;int t=0;int[] b=new int[n];for (i=1,b[0]=1;i<n;i++) {for (j= 0,k=0;j<i;j++) {if(a[j]<a[i]&&k<b[j])k=b[j];}b[i]=k+1;}for (int l = 0; l <n; l++) {if(b[l]>t) t=b[l];}return t;}public static void main(String[] args) {System.out.println("Input");Scanner sc=new Scanner(System.in);int m;m=sc.nextInt();for (int j = 0; j <m; j++) {String s1=sc.next();char[] arr=s1.toCharArray();int t=Q(arr,arr.length);System.out.println(t);}}}6、n皇后问题在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。

你的任务是,对于给定的N,求出有多少种合法的放置方法。

Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。

Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。

相关文档
最新文档