2018年全国多校算法寒假训练营练习比赛(第一场)闯关的lulu
闯关的lulu
链接:https://www.nowcoder.com/acm/contest/67/J
来源:牛客网
题目描述
勇者lulu某天进入了一个高度10,000,000层的闯关塔,在塔里每到一层楼,他都会获得对应数量的0 1(看情况获得),然后塔里有一个法则,当你身上某个数字达到一个特定的数量时,它们会合成为下一个数字,现在问题来了,当lulu从1层到达第n层的时候,他身上的数字是多少。
第1层 0
第2层 11
第3层 110
第4层 21
第5层 210
第6层 22
第7层 220
第8层 2211
第9层 22110
第10层 2221
第11层 22210
第12层 3
输入描述:
第一行是样例数T(T<100)
第2到2+T-1行每行有一个整数n(0<n<=10^7)。
输出描述:
从大到小输出lulu到达第n层时身上的数字
输入
4
1
2
3
20
输出
0
11
110
32211
备注:
对于100%的数据,
0 < T <= 100
0 < n <= 10^7
这道题其实规律不是我自己找出来的
当时还在比赛的时候czc说了一下他找到的规律 当时一下觉得不知道怎么实现 时间也不多了我就没写
今天来补了一下
很简单的方法 还是写了很久 感觉自己真的逻辑很不清楚
今天写的时候有写了一下思路 但是感觉还是有点乱
以后写的清楚一点?
不知道要怎么表达啊
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
using namespace std;
int t,n;
const int maxn = 1e7;
int num[10000003];
int main()
{
scanf("%d",&t);
while(t--){
scanf("%d",&n);
int now = 1, times = 3;
num[0] = n % 2;
int tmp = (n - num[0]) / 2 + n / 2;
num[1] = tmp % 3;
tmp = tmp / 3;
while(tmp){
num[++now] = tmp% (times + 1);
tmp = tmp / (times + 1);
times++;
}
for(int i = now; i >= 0; i--){
while(num[i]--){
cout<<i;
}
}
cout<< endl;
}
return 0;
}
2018年全国多校算法寒假训练营练习比赛(第一场)闯关的lulu的更多相关文章
- 2018年全国多校算法寒假训练营练习比赛(第四场)B:道路建设
传送门:https://www.nowcoder.net/acm/contest/76/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 65536K,其他语言131072K 64b ...
- 2018年全国多校算法寒假训练营练习比赛(第四场)F:Call to your teacher
传送门:https://www.nowcoder.net/acm/contest/76/F 题目描述 从实验室出来后,你忽然发现你居然把自己的电脑落在了实验室里,但是实验室的老师已经把大门锁上了.更糟 ...
- 牛客网-2018年全国多校算法寒假训练营练习比赛(第四场)-A
解题思路:二分图的最大匹配,但这题是所有点都遍历一遍,所以答案/2: 代码: #include<iostream> #include<algorithm> #include&l ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)D N阶汉诺塔变形
https://www.nowcoder.com/acm/contest/67/D 思路: 先手动模拟一下过程,以下是模拟过程,按顺序表示第几步需要移动的盘标号 1 1 2 1 1 2 1 1 3 1 ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)E 恋与程序员
https://www.nowcoder.com/acm/contest/67/E 思路: dfs 代码: #include<bits/stdc++.h> using namespace ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)G 圆圈
https://www.nowcoder.com/acm/contest/67/G 思路: 分形. 记录中间左边点的坐标,然后推出另外3个点的坐标,递归到最简单的情况. 代码: #include< ...
- 2018年全国多校算法寒假训练营练习比赛(第一场)C 六子冲
https://www.nowcoder.com/acm/contest/67/C 思路: 模拟. 代码: #include<bits/stdc++.h> using namespace ...
- 2018年全国多校算法寒假训练营练习比赛(第二场)B - TaoTao要吃鸡
链接:https://www.nowcoder.com/acm/contest/74/B来源:牛客网 题目描述 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了, 和绝地求 ...
- 2018年全国多校算法寒假训练营练习比赛(第二场)F - 德玛西亚万岁
链接:https://www.nowcoder.com/acm/contest/74/F来源:牛客网 题目描述 德玛西亚是一个实力雄厚.奉公守法的国家,有着功勋卓著的光荣军史. 这里非常重视正义.荣耀 ...
随机推荐
- [Scikit-learn] 1.4 Support Vector Machines - Linear Classification
Outline: 作为一种典型的应用升维的方法,内容比较多,自带体系,以李航的书为主,分篇学习. 函数间隔和几何间隔 最大间隔 凸最优化问题 凸二次规划问题 线性支持向量机和软间隔最大化 添加的约束很 ...
- Struts2_day04讲义_使用Struts2完成用户登录的权限拦截器的代码编写
- 8 -- 深入使用Spring -- 7...3 让Spring管理控制器
8.7.3 让Spring管理控制器 让Spring容器来管理应用中的控制器,可以充分利用Spring的IoC特性,但需要将配置Struts 2 的控制器部署在Spring容器中,因此导致配置文件冗余 ...
- office系列调节背景主题
更改背景主题可以参考:https://jingyan.baidu.com/article/ff42efa9332adec19e220200.html 但是这种方法只是改变了整个软件外框架的背景颜色.以 ...
- Oracle之表空间基于时间点的恢复
记一次优化过程中:一次误操作,在不影响其他表空间的情况下:采用表空间基于时间点的恢复(TSPITR)方法恢复数据的过程. 1.TSPITR恢复原理 TSPITR目前最方便的方法是使用RMAN进行 ...
- SaltStack 批量安装软件
这里我们用 SaltStack 服务端对多台客户端远程批量安装 httpd,步骤如下: [root@localhost ~]$ vim /etc/salt/master # 编辑配置文件,打开base ...
- iOS - Action Extension
上一篇<iOS开发 之 Share Extension>介绍了分享扩展的开发与使用,本篇主要还是讲述在系统分享菜单中最底下一栏的功能扩展:Action Extension,该扩展跟Shar ...
- Linux设备驱动剖析之SPI(一)
写在前面 初次接触SPI是因为几年前玩单片机的时候,由于普通的51单片机没有SPI控制器,所以只好用IO口去模拟.最近一次接触SPI是大三时参加的校内选拔赛,当时需要用2440去控制nrf24L01, ...
- 七、K3 WISE 开发插件《Update字段级更新触发器 - BOS单审核后反写源单》
审核成功触发,是一个比较典型的场景.需要用到update触发器,跟踪到审核状态的变化. 引用的源码<采购检验单审核后反写收料通知单>,其中采购检验单是BOS自定义单据. if (objec ...
- 题目1198:a+b(高精度计算,好像有点问题)
题目链接:http://ac.jobdu.com/problem.php?pid=1198 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...