洛谷 P1706 P1036 -小试牛刀
题目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 -小试牛刀相关推荐
- 深度优先搜索——全排列(洛谷 P1706)
题目选自洛谷P1706 全排列是深搜的经典问题,也是作为学习深搜的入门问题,非常经典,也很容易理解 DFS模板,先进行递归终止条件判断,满足判断则进行相应的操作(例如输出结果) 然后逐次遍历即可 对于 ...
- 洛谷——P1706 全排列问题
P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成 ...
- 洛谷P1706 全排列问题
题目描述 按照字典序输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1 \sim n1∼n ...
- 全排列问题(洛谷P1706题题解,Java语言描述)
题目要求 题目链接 分析 其实应该用DFS啦,打表还是免了,9!9!9!警告. 怎么搜呢?一个boolean数组+一个int数组,int数组按顺序存每一位的数值,boolean数组的index对应实际 ...
- 洛谷 P1706 全排列问题
全排列问题 题目描述 按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 n. 输出格式 由 1 - n 组成的 ...
- 题解:洛谷P1706全排列问题
题目描述 输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1∼n 组成的所有不重复的数字序 ...
- 洛谷-P1706 全排列问题
题目描述 输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数 nn. 输出格式 由 1 \sim n1∼n 组成的所 ...
- [洛谷]P1706 全排列问题(简单dfs+回溯)
dfs+回溯: Acode: #include<bits/stdc++.h> using namespace std; #define int long long int n,a[10]; ...
- 洛谷 P1706 全排列问题 C++代码
题目描述: 按照字典序输出自然数 11 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式: 一个整数 n. 输出格式: 由 1∼n 组成的所有不重 ...
最新文章
- Docker部署脚本
- 华为手机怎么调出云相册_华为云手机引关注!将替代传统手机?华为回应来了...
- 在 IntelliJ IDEA 中误添加自定义的 JavaDoc 标签,如何删除
- 项目部署到tomcat6.0启动成功后访问页面报500_.net core IIS部署教程
- NES模拟器开发-PPU笔记
- .NET Core ASP.NET Core Basic 1-2 控制反转与依赖注入
- jedis操作set_你真的会使用redis的数据类型set么
- android view禁止右滑,ViewPager 禁止左右滑动完美解决
- 数据库SQL语句解析
- 04 grep正则表达式与shellscipt脚本编程
- kettle软件的使用
- 用H5STEAM实现大华摄像头的WEB开发
- Lae程序员小漫画(三),仅供一乐
- Whipple防护结构的建模与仿真技术
- 纯JS绘制的QQ LOGO
- linux 局域网 提高网速,提高Linux系统网速的方法
- matlab学生试用版,免费试用MATLAB
- 求解矩阵A的满秩分解的一般方法
- 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
- 富文本编辑器 ck-editor5 的使用
热门文章
- Android之去掉RecycleView和NestedScrollView边缘效果
- Android之RxPermissions用kotlin写没反应
- Android之安卓8.0版本以上手机开启热点提示Caller already has an active LocalOnlyHotspot request
- C和指针之动态内存分配之编程练习3
- 链表之单链表约瑟夫问题(三)
- 2020中国十大最丑建筑出炉,你觉得哪个更丑?
- 教程丨亿万网友一起换头像欢庆新中国成立70周年,就差你了!
- 主存和cache每一块相等_笔记:cpu中的cache(一)
- 二维数组各行分别求和_【PyTorch入门】之十分钟看懂二维卷积层的运算、实现及应用...
- 获取上传图片的大小 php,thinkphp5 获取上传图片的大小和信息