仙人球的殘影 HDU 2153

2021-09-08 13:20:05 字數 1800 閱讀 8036

problem description

在美麗的hdu,有一名大三的同學,他的速度是眾所周知的,跑100公尺僅僅用了2秒47,在他跑步過程中會留下殘影的哎,大家很想知道他是誰了吧,他叫仙人球,既然名字這樣了,於是他的思想是單一的,他總是喜歡從一點出發,經過3次轉折(每次向右轉90°),回到出發點,而且呢,他每次轉折前總是跑相同長度的路程,所以很多人都想知道如果用『1』算他跑步出發的第乙個殘影的話,那麼回到起點的時候,他的殘影是怎麼樣的呢?

input

測試資料有多行,每一行為乙個數n(1<=n<=10)(以0結尾,0不做處理),即仙人球在沒有回到起點的時候,跑過留下n個殘影后突然90°右轉。

output

每組測試資料輸出乙個結果,並且每個殘影的計數字長度為3個字元長度。(當然n等於1的話,它的結果也是占用3個字元位置的)

2008資訊工程學院集訓隊——選拔賽

這題看到以後第一時間想到的是蛇形填數,但是這個和蛇形填數不同的地方是中間的空白是沒有東西的,所以只能靠模擬來做,我是找到了規律,然後一點一點除錯出來的,剛調完上面的發現只能過乙個樣例,於是又調了半天才調好的

**:

#include

using

namespace std;

int ans[

100]

;int

main()

else

if(i>

1&&i

else

if(i==n)

} cout<

注意輸出的時候%

3d是必要格式,因為題目裡寫了即使輸出乙個也佔三格。

如果找不到規律的話怎麼辦呢,那就只能硬做了:

寫乙個ans1 = (n-1)4 正好等於樣例裡的12 但是我剛開始寫的3n在別的數字裡結果就不對了,然後ans2=n+1沒有問題,用外層for迴圈來控制一下迴圈次數,用內迴圈來在每一行填數由於去掉第一行和最後一行,所以外迴圈是n-2到0,j=1的話就輸出大的ans1 然後讓ans1-- 如果j=n的話就輸出ans2 讓ans2++ 最後再輸出最後一行就行了,正好用到了ans1和ans2來控制輸出 剛開始我加了個關閉同步,然後printf和cout昏迷了 cout的東西就是輸出不了,把關閉同步刪掉就ac了 **:

#include

using

namespace std;

intmain()

for(

int i=

1;i<=n;i++

)printf

("%3d"

,i);

cout<

int t=

(n-1)*

4;int ans1=t;

int ans2=n+1;

for(

int i=n-

2;i>

0;i--

)for

(int j=

1;j<=n;j++

)else

if(j==n)

else

cout<<

" ";}

for(

int i=ans1;i>=ans2;i--

)printf

("%3d"

,i);

cout<

}}

C 仙人球的殘影

在美麗的hdu,有一名大三的同學,他的速度是眾所周知的,跑100公尺僅僅用了2秒47,在他跑步過程中會留下殘影的哎,大家很想知道他是誰了吧,他叫仙人球,既然名字這樣了,於是他的思想是單一的,他總是喜歡從一點出發,經過3次轉折 每次向右轉90 回到出發點,而且呢,他每次轉折前總是跑相同長度的路程,所以...

HDU 2153 仙人球的殘影

在美麗的hdu,有一名大三的同學,他的速度是眾所周知的,跑100公尺僅僅用了2秒47,在他跑步過程中會留下殘影的哎,大家很想知道他是誰了吧,他叫仙人球,既然名字這樣了,於是他的思想是單一的,他總是喜歡從一點出發,經過3次轉折 每次向右轉90 回到出發點,而且呢,他每次轉折前總是跑相同長度的路程,所以...

(解題報告)HDU2153 仙人球的殘影

a 仙人球的殘影 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status description 在美麗的hdu,有一名大三的同學,他的速度是眾所周知的,跑100公尺僅僅用了2秒47,在他跑步過程中...