fzu1062 洗牌问题(思路模拟)
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 洗牌问题(思路模拟)相关推荐
- java集合框架的练习之斗地主洗牌发牌的模拟(升级版)
首先,奉上java集合框架的练习之斗地主洗牌发牌的模拟(初级版)的链接:http://blog.csdn.net/striner/article/details/78489306 初级版只具有洗牌发牌 ...
- 编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc
集美大学诚毅学院 <高级语言程序设计>课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 一.目的 ...
- 前端算法题-洗牌算法
洗牌算法思路 利用随机数生成下标,通过循环将a数组的元素添加到b数组中 并且将添加到b数组的元素 跟a数组元素首位交换保证不会被重复添加到b数组中 // 生成0-54的数组function getAr ...
- 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
1.Map集合概述和特点 1.需求: 根据学号获取学生姓名 2.Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能 ...
- 模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)
模拟人工洗牌.编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人. **输出格式要求:"\nNo.%d:" " %c%2d," 为便于机器评分,假设随机数的种 ...
- Java实现模拟斗地主洗牌、发牌、看牌并排序
1.模拟斗地主洗牌.发牌.看牌 /* * 模拟斗地主洗牌.发牌.看牌*/package PokerDemo;import java.util.ArrayList; import java.util.C ...
- java练习:模拟试下你斗地主的洗牌、发牌、看牌功能
/*** 需求:模拟实现斗地主的分牌情形* 分析: 1 模拟牌盒,存储54张牌,0-53 每个数字分别对应一张牌,用Map存储* 2 将0-53序号随机分发到三个人手中,欲实现序号的随机排序,考虑使用 ...
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
模拟斗地主洗牌,发牌 使用HashMap,TreeSet和List来实现 效果如下图所示: 详细实现代码如下: package star.july.tags;import java.util.Arr ...
- java使用集合模拟斗地主洗牌发牌案例
package com.itheima.模拟斗地主.斗地主版本2;import java.util.ArrayList; import java.util.Collections; import ja ...
最新文章
- OpenResty+Keepalived组建高可用集群+双主模式
- java 配置参数_给你的JAVA程序配置参数(Properties的使用)
- [css] 说说你对line-height是如何理解的?
- java圆形进度条_可拖拽圆形进度条组件(支持移动端)
- 技术MBA打造中国未来CTO
- Think in Java第四版 读书笔记10 第16章 数组
- SAXBuilder的介绍和使用细节
- python3.7.4安装教程win7_Window10下python3.7 安装与卸载教程图解
- 最近好闷,什么时候才有需求啊,很郁闷
- 贝塞尔曲线(UIBezierPath)属性、方法汇总
- Java1.8新特性学习笔记
- tree.js实现3D效果,官网demo
- 求高手请进,帮我分析这种情况是什么原因
- html如何让英文自动换行,HTML如何让英文自动换行不断词
- 左连接 oracle条件查询,sql 左连接查询条件and与where
- h2o java_java – 在h2o中加载大于内存大小的数据
- 【Linux】Linux操作系统简单介绍 ----vim编辑器
- 初识机器学习与深度学习
- Linux下测试SSD硬盘读写速率
- redis--客户端