题目1:
题目描述

输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入格式

一个整数 n。
输出格式

由 1∼n1∼n1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 个场宽。
输入输出样例
输入

3

输出

1    2    3
1    3    2
2    1    3
2    3    1
3    1    2
3    2    1

说明/提示

1≤n≤91≤n≤91≤n≤9

代码如下:

#include<bits/stdc++.h>
using namespace std;
int n;
int ans[15];//保存当前的方案
int use[15];//表示每个数是否被用过
void dfs(int x){//X表示当前搜索到那个数if(x>n){//如果N位都搜索完了,就输出方案并返回for(int i=1;i<=n;i++)printf("% 5d",ans[i]);//输出方案 puts("");return;}for(int i=1;i<=n;i++)//从小到大枚举if(!use[i]){//判断这个数是否用过ans[x]=i;//保存到方案中use[i]=1;//标记这个数被使用了dfs(x+1);//进行下一步搜索use[i]=0;//撤销标记}
}
int main()
{scanf("%d",&n);//输入dfs(1);//从第一个数开始搜索;
}

题目2:

题目描述

已知 nnn 个整数 x1,x2,…,xnx_1,x_2,…,x_nx1​,x2​,…,xn​,以及111个整数kkk(k<nk<nk<n)。从nnn个整数中任选kkk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3n=4,k=3,444个整数分别为3,7,12,193,7,12,193,7,12,19时,可得全部的组合与它们的和为:

3+7+12=223+7+12=223+7+12=22

3+7+19=293+7+19=293+7+19=29

7+12+19=387+12+19=387+12+19=38

3+12+19=343+12+19=343+12+19=34。

现在,要求你计算出和为素数共有多少种。

例如上例,只有一种的和为素数:3+7+19=293+7+19=293+7+19=29。

解题思路:
水题!!!

代码如下:

#include <bits/stdc++.h>
using namespace std;
const int N = 9999;
int a[N];
bool pd[N];
int haif[N];
int n, k, sum = 0, ans = 0;int f (int y) {if (y == 1)return false;if (y == 0)return false;for (int i = 2; i <= sqrt(y); i++) {if (y % i == 0)return false;}return y;
}void dfs (int x, int d) {if (x == k + 1) {sum = 0;for (int i = 1; i <= k; i++) {sum = sum + haif[i];}if (f(sum) != 0)ans++;return ;}for (int i = d + 1; i <= n; i++) {if (!pd[i]) {pd[i] = 1;haif[x] = a[i];dfs(x + 1, i);pd[i] = 0;}}
}int main () {cin >> n >> k;for (int i = 1; i <= n; i++) {cin >> a[i];}dfs(1, 0);cout << ans << endl;return 0;
}

洛谷 P1706 P1036 -小试牛刀相关推荐

  1. 深度优先搜索——全排列(洛谷 P1706)

    题目选自洛谷P1706 全排列是深搜的经典问题,也是作为学习深搜的入门问题,非常经典,也很容易理解 DFS模板,先进行递归终止条件判断,满足判断则进行相应的操作(例如输出结果) 然后逐次遍历即可 对于 ...

  2. 洛谷——P1706 全排列问题

    P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成 ...

  3. 洛谷P1706 全排列问题

    题目描述 按照字典序输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1 \sim n1∼n ...

  4. 全排列问题(洛谷P1706题题解,Java语言描述)

    题目要求 题目链接 分析 其实应该用DFS啦,打表还是免了,9!9!9!警告. 怎么搜呢?一个boolean数组+一个int数组,int数组按顺序存每一位的数值,boolean数组的index对应实际 ...

  5. 洛谷 P1706 全排列问题

    全排列问题 题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 n. 输出格式 由 1 - n 组成的 ...

  6. 题解:洛谷P1706全排列问题

    题目描述 输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1∼n 组成的所有不重复的数字序 ...

  7. 洛谷-P1706 全排列问题

    题目描述 输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1 \sim n1∼n 组成的所 ...

  8. [洛谷]P1706 全排列问题(简单dfs+回溯)

    dfs+回溯: Acode: #include<bits/stdc++.h> using namespace std; #define int long long int n,a[10]; ...

  9. 洛谷 P1706 全排列问题 C++代码

    题目描述: 按照字典序输出自然数 11 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式: 一个整数 n. 输出格式: 由 1∼n 组成的所有不重 ...

最新文章

  1. Docker部署脚本
  2. 华为手机怎么调出云相册_华为云手机引关注!将替代传统手机?华为回应来了...
  3. 在 IntelliJ IDEA 中误添加自定义的 JavaDoc 标签,如何删除
  4. 项目部署到tomcat6.0启动成功后访问页面报500_.net core IIS部署教程
  5. NES模拟器开发-PPU笔记
  6. .NET Core ASP.NET Core Basic 1-2 控制反转与依赖注入
  7. jedis操作set_你真的会使用redis的数据类型set么
  8. android view禁止右滑,ViewPager 禁止左右滑动完美解决
  9. 数据库SQL语句解析
  10. 04 grep正则表达式与shellscipt脚本编程
  11. kettle软件的使用
  12. 用H5STEAM实现大华摄像头的WEB开发
  13. Lae程序员小漫画(三),仅供一乐
  14. Whipple防护结构的建模与仿真技术
  15. 纯JS绘制的QQ LOGO
  16. linux 局域网 提高网速,提高Linux系统网速的方法
  17. matlab学生试用版,免费试用MATLAB
  18. 求解矩阵A的满秩分解的一般方法
  19. 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
  20. 富文本编辑器 ck-editor5 的使用

热门文章

  1. Android之去掉RecycleView和NestedScrollView边缘效果
  2. Android之RxPermissions用kotlin写没反应
  3. Android之安卓8.0版本以上手机开启热点提示Caller already has an active LocalOnlyHotspot request
  4. C和指针之动态内存分配之编程练习3
  5. 链表之单链表约瑟夫问题(三)
  6. 2020中国十大最丑建筑出炉,你觉得哪个更丑?
  7. 教程丨亿万网友一起换头像欢庆新中国成立70周年,就差你了!
  8. 主存和cache每一块相等_笔记:cpu中的cache(一)
  9. 二维数组各行分别求和_【PyTorch入门】之十分钟看懂二维卷积层的运算、实现及应用...
  10. 获取上传图片的大小 php,thinkphp5 获取上传图片的大小和信息