TopCoder

User's AC Ratio

96.2% (201/209)

Submission's AC Ratio

59.5% (297/499)

Tags

Description

大家都知道魯夫吃過橡皮果實,而一旦有人貪心吃了第二顆惡魔果實,就會被炸成碎片。有一天魯夫吃了一顆惡猿果實,是沒有被炸成碎片,但是身體卻產生了奇妙的轉變。
  他的行為開始變得非常二元,因此他走路時,第一步總是長 $1$ 公尺,但每走一步路,腳的長度就會增長為二倍,相對的步伐長度也增為二倍,也就是說,走第 $k$ 步時他能走的距離是 2k-1 公尺。
  有一天,魯夫在他正前方 $d$ 公尺發現了寶藏,其中$d$ 為奇數,但第 $k$ 步他只能往寶藏的方向或往寶藏的反方向走 2k-1 公尺。請幫幫魯夫得到寶藏,告訴他最快走到寶藏要走幾步,並且應該如何走?

Input Format

一個正奇數 $d$,$1\le d\le 100,000,000$,代表寶藏在前方多遠。

Output Format

首先輸出至少要走幾步,再來輸出走法。走法中,”+”代表往起點到寶藏的方向走,”-”則代表往寶藏到起點的方向走;第一個符號代表第一步(1公尺)要往哪邊走,第二個符號代表第二步……以此類推。

Sample Input 1

11

Sample Output 1

4
+-++

Hints

Problem Source

原TIOJ1026 / 96建中校內資訊能力競賽(prob3)

Subtasks

No. Testdata Range Score
1 0 14
2 1 14
3 2 14
4 3 14
5 4 14
6 5 14
7 6 16

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 262144 1
1 1000 65536 262144 2
2 1000 65536 262144 3
3 1000 65536 262144 4
4 1000 65536 262144 5
5 1000 65536 262144 6
6 1000 65536 262144 7