题意就是找到一个全排列按照题目说的计算方式得到结果为sum,可以直接用dfs找全排列并判断是否和为sum,也可以用next_permutation()生成全排列,生成的全排列本身就是按照字典序的,但是离谱的是深搜能过而直接用next_permutation在测试点10 1535会超时,原来是不存在某一个排列使得和是sum,所以应该啥也不输出,被题干中“数据保证有解误导”。一开始是判断生成的排列和是sum终止循环,循环体内生成排列,这样无解会死循环,鉴于next_permutation得到最后一个全排列时会返回false,因此将它作为循环判断条件修改即可。

#include <iostream>
#include <bits/stdc++.h>
using namespace std;int cal(vector<int> tmp,int n){while(n!=1){for(int i=0;i<n-1;i++){tmp[i]=tmp[i]+tmp[i+1];}n--;}return tmp[0];
}
int main(){int n,sum;cin >> n >> sum;vector<int> tmp(n);for(int i=0;i<n;i++) {tmp[i] = i + 1;}bool flag=false;do{if(cal(tmp,n)==sum){flag=true;break;}}while(next_permutation(tmp.begin(),tmp.end()));if(flag){for(int i=0;i<n;i++){cout << tmp[i] << " ";}}return 0;
}

蓝桥杯 算法练习 数字游戏相关推荐

  1. 蓝桥杯算法训练 数字游戏 组合数和暴力两种解法

    试题 算法训练 数字游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列 ...

  2. Java实现 蓝桥杯 算法训练 数字游戏

    试题 算法训练 数字游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列 ...

  3. 蓝桥杯 算法训练 数字游戏

    算法训练 数字游戏 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上 ...

  4. 蓝桥杯——算法训练——数字三角形

    蓝桥杯--算法训练--数字三角形 这道题不难,但是比较典型,可以作为动态规划(dp)的入门篇,属于线性dp(LIS,LCS和数字三角形都是此类题型). ------------------------ ...

  5. 蓝桥杯 Python 练习题 数字游戏

    试题 算法训练 数字游戏 提交此题   评测记录 资源限制 时间限制:1.0s   内存限制:256.0MB 问题描述 给定一个1-N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这 ...

  6. 蓝桥杯 算法提高 转圈游戏 JAVA

    蓝桥杯 转圈游戏 原题描述 解题思路 JAVA代码 运行结果 原题描述 问题描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 ...

  7. java 蓝桥杯算法训练 数字三角形(题解)

    试题 算法训练 数字三角形 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的 ...

  8. 蓝桥杯历届试题-数字游戏

    题目描述 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数 ...

  9. Java实现 蓝桥杯 历届试题 数字游戏

    问题描述 栋栋正在和同学们玩一个数字游戏. 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈.栋栋首先说出数字1.接下来,坐在栋栋左手边的同学要说下一个数字2.再下面的一个同学要从上一个同学说的数 ...

最新文章

  1. pandas进行数据处理常用方法与属性
  2. 12月24日,为我们的无线网络默哀……
  3. Javascript - Vue - webpack
  4. vim技巧之删除引号之间的的快捷键
  5. Python面试题大全(五):测试、大数据、数据结构、架构
  6. 零基础 Amazon Web Services (AWS) 入门教程图文版(四)
  7. php jquery ajax xml,jquery Ajax解析XML数据代码实例
  8. oracle查询结果怎么去掉重复的,怎么去除重复的查询结果
  9. Oracle存储过程异常
  10. 解决PLSQL和输入法或QQ冲突问题
  11. Docker安装Jenkins教程
  12. Screen Snapshot for Mac(屏幕截图工具)
  13. 从购买域名到nginx,flask搭建自己的网站
  14. 台达PLC与紫金桥监控组态软件的连接
  15. python系列13:python中Path常用功能
  16. 尚来古籍——江氏族谱
  17. redis.clients.jedis.exceptions.JedisDataException
  18. 【sdx62】PBL阶段修改GPIO操作
  19. 单页面应用——SPA
  20. vb读取文本文件某行的内容

热门文章

  1. Java入门教程(视频)
  2. iOS网络编程-MBProgressHUD等待指示器
  3. CSS层叠性(重要)
  4. C/C++代码混淆器
  5. 如何使用思岚robostudio进行地图优化?
  6. C++解决Hanks趣味问题
  7. Elasticsearch优秀的索引设置技巧
  8. 【Excel学习笔记13】对一个单元格内容进行条件分列,分列成多列
  9. 9.3(使用Date类) 编写程序创建一个Date对象,设置它的流逝时间
  10. 中止执行后超过2年_执行期限过了两年怎么处理