每日训练
造素数(回溯)
现在给你n个数,你需要从中选出m个数,使得这m个数的和为素数,求出可选的方案数。
输入
第一行两个整数n和m。
第二行n个整数,表示可选的数字。
输出
输出有多少种方案可以使得选出的数之后为素数。
样例
输入复制
3 2
1 2 3
输出复制
2
输入复制
3 1
2 2 2
输出复制
3
提示
样例1解释:1+2,2+3
对于100%的数据,5<=n<=20,m<=n,可选的数的范围是[0,100]
8皇后问题(回溯)
在8*8国际象棋盘上,放置8个皇后,使得任意两个皇后都不会互相攻击,一共有多少种摆法?这就是著名的8皇后问题。
现在我们来尝试,在N*N的棋盘上,放置N个皇后,使得它们不会互相攻击。
皇后的走子规则是,沿着横、竖、两条对角线方向可以走任意步数。
输入
1个整数N
输出
一个整数,表示N皇后的不同解答个数
样例
输入复制
8
输出复制
92
提示
5≤N≤9
全排列(回溯)
输入正整数N,输出由1到N这N个数(N<=7)的所有排列,每行一个排列,数与数之间有一个空格,两个排列中,第一个数小的优先输出,第一个数相同,比较第二个数,后面以此类推。
输入
正整数N
输出
所有排列
样例
输入复制
3
输出复制
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
幂的计算(二分和三分)
求 a^b mod p ,其中p=

该博客介绍了几个使用回溯法和排序算法解决的经典问题,包括造素数、8皇后问题、全排列、幂的计算、快速排序、合并有序数列、逆序对计算以及统计数字。每个问题都提供了输入输出示例和具体的数据范围。

1279

被折叠的 条评论
为什么被折叠?



