303175: CF618A. Slime Combining
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Slime Combining
题意翻译
朋友在你生日的时候送了你n只史莱姆。现在你跟史莱姆玩♂游♂戏:每只史莱姆有初始值1,首先放一只史莱姆,然后在它的右边放剩下的史莱姆,两个值都为n的史莱姆可以合并成一个值为n+1的史莱姆。输入n,输出最后史莱姆的排布情况。题目描述
Your friend recently gave you some slimes for your birthday. You have $ n $ slimes all initially with value $ 1 $ . You are going to play a game with these slimes. Initially, you put a single slime by itself in a row. Then, you will add the other $ n-1 $ slimes one by one. When you add a slime, you place it at the right of all already placed slimes. Then, while the last two slimes in the row have the same value $ v $ , you combine them together to create a slime with value $ v+1 $ . You would like to see what the final state of the row is after you've added all $ n $ slimes. Please print the values of the slimes in the row from left to right.输入输出格式
输入格式
The first line of the input will contain a single integer, $ n $ ( $ 1<=n<=100000 $ ).
输出格式
Output a single line with $ k $ integers, where $ k $ is the number of slimes in the row after you've finished the procedure described in the problem statement. The $ i $ -th of these numbers should be the value of the $ i $ -th slime from the left.
输入输出样例
输入样例 #1
1
输出样例 #1
1
输入样例 #2
2
输出样例 #2
2
输入样例 #3
3
输出样例 #3
2 1
输入样例 #4
8
输出样例 #4
4