http://acm.fzu.edu.cn/problem.php?pid=1062

一开始想暴力找规律,没看出来。。然后开始推,推测根据1再次返回第一个的时候顺序也复原,然后想以此推导出一个规律公式,发现很困难。

其实只要dfs模拟1的路径就好,单路线也不会超时。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #define lson l, m, rt<<1
 8 #define rson m+1, r, rt<<1|1
 9 #define IO ios::sync_with_stdio(false);cin.tie(0);
10 #define INF 1e9
11 typedef long long ll;
12 using namespace std;
13 int n, flag, cnt;
14 void dfs(int cur)
15 {
16     if(cur == 1){
17         cout << cnt << endl;
18         return ;
19     }
20     cnt++;
21     if(cur<=n){
22         dfs(cur*2);
23     }
24     else if(cur>n){
25         dfs((cur-n)*2-1);
26     }
27 }
28 int main()
29 {
30     //记录1的位置即可
31     while(cin >> n){
32         flag=0;
33         cnt=1;
34         dfs(2);
35     }
36     return 0;
37 }

转载于:https://www.cnblogs.com/Surprisezang/p/8878537.html

fzu1062 洗牌问题(思路模拟)相关推荐

  1. java集合框架的练习之斗地主洗牌发牌的模拟(升级版)

    首先,奉上java集合框架的练习之斗地主洗牌发牌的模拟(初级版)的链接:http://blog.csdn.net/striner/article/details/78489306 初级版只具有洗牌发牌 ...

  2. 编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc

    集美大学诚毅学院 <高级语言程序设计>课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 一.目的 ...

  3. 前端算法题-洗牌算法

    洗牌算法思路 利用随机数生成下标,通过循环将a数组的元素添加到b数组中 并且将添加到b数组的元素 跟a数组元素首位交换保证不会被重复添加到b数组中 // 生成0-54的数组function getAr ...

  4. 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))

    1.Map集合概述和特点 1.需求:    根据学号获取学生姓名 2.Map接口概述     查看API可以知道:     将键映射到值的对象     一个映射不能包含重复的键     每个键最多只能 ...

  5. 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)

    模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...

  6. Java实现模拟斗地主洗牌、发牌、看牌并排序

    1.模拟斗地主洗牌.发牌.看牌 /* * 模拟斗地主洗牌.发牌.看牌*/package PokerDemo;import java.util.ArrayList; import java.util.C ...

  7. java练习:模拟试下你斗地主的洗牌、发牌、看牌功能

    /*** 需求:模拟实现斗地主的分牌情形* 分析: 1 模拟牌盒,存储54张牌,0-53 每个数字分别对应一张牌,用Map存储* 2 将0-53序号随机分发到三个人手中,欲实现序号的随机排序,考虑使用 ...

  8. Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子

    模拟斗地主洗牌,发牌  使用HashMap,TreeSet和List来实现 效果如下图所示: 详细实现代码如下: package star.july.tags;import java.util.Arr ...

  9. java使用集合模拟斗地主洗牌发牌案例

    package com.itheima.模拟斗地主.斗地主版本2;import java.util.ArrayList; import java.util.Collections; import ja ...

最新文章

  1. OpenResty+Keepalived组建高可用集群+双主模式
  2. java 配置参数_给你的JAVA程序配置参数(Properties的使用)
  3. [css] 说说你对line-height是如何理解的?
  4. java圆形进度条_可拖拽圆形进度条组件(支持移动端)
  5. 技术MBA打造中国未来CTO
  6. Think in Java第四版 读书笔记10 第16章 数组
  7. SAXBuilder的介绍和使用细节
  8. python3.7.4安装教程win7_Window10下python3.7 安装与卸载教程图解
  9. 最近好闷,什么时候才有需求啊,很郁闷
  10. 贝塞尔曲线(UIBezierPath)属性、方法汇总
  11. Java1.8新特性学习笔记
  12. tree.js实现3D效果,官网demo
  13. 求高手请进,帮我分析这种情况是什么原因
  14. html如何让英文自动换行,HTML如何让英文自动换行不断词
  15. 左连接 oracle条件查询,sql 左连接查询条件and与where
  16. h2o java_java – 在h2o中加载大于内存大小的数据
  17. 【Linux】Linux操作系统简单介绍 ----vim编辑器
  18. 初识机器学习与深度学习
  19. Linux下测试SSD硬盘读写速率
  20. redis--客户端

热门文章

  1. 破除Odoo 菜单栏提示 99+
  2. js文件引用方式及其同步执行与异步执行
  3. Codeforces Round #312 (Div. 2)
  4. 如何删除Safari浏览器的扩展程序 大神教你搞定
  5. C语言学习笔记(一)_hello world
  6. GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除
  7. java网络流传输,中文乱码问题。
  8. 西南民大oj(矩阵快速幂)
  9. SQL Server 环形缓冲区(Ring Buffer) -- 介绍
  10. 上传照片表单提交包括文本框下拉条等,如何取文本框的值