week4 CS C 可怕的宇宙射線

2021-10-04 04:16:19 字數 1416 閱讀 8774

問題描述:

宇宙射線會在無限的二維平面上傳播(可以看做乙個二維網格圖),初始方向預設向上。宇宙射線會在發射出一段距離後**,向該方向的左右45°方向**出兩條宇宙射線,同時威力不變。宇宙射線會**n次,每次**後會在**方向前進ai 個單位長度。計算出共有多少個位置會被打擊。

輸入:

輸入第一行包含乙個正整數n(n <= 30),表示宇宙射線會**n次,第二行包含n個正整數a1,a2…an,第i個數ai(ai <= 5)表示第i次**的宇宙射線會在它原方向上繼續走多少個單位長度。

輸出:

輸出乙個數ans,表示有多少個位置會被降智打擊。

輸入樣例:

44 2 2 3

輸出樣例:

39問題描述:

這道題思路很清晰,由於每條射線都不受其他射線的干擾,所以最簡單的思路就是遞迴思想,經分析可知,射線最多有8個方向,每到乙個**點只會往當前方向的相鄰兩個方向輻射,故利用遞迴很容易能求得答案的解,但是時間效能太差了,所以要改善時間效能,分析可知,射線往每個方向不會超過150個距離,所以可以直接用二維陣列對點進行標記,當c[i][j]為1時,表示該點已到達,同時要用斯維陣列對射線進行標記,避免很多重複搜尋。這樣,時間效能就改善了不少,題目得解。

實驗**:

#include

using

namespace std;

int dx[8]

=;int dy[8]

=;int a[31]

=;bool b[

300]

[300][

8][33

]=;bool c[

333]

[333];

int n;

int ans;

void

shexian

(int d,

int fx,

int x,

int y)

} b[x]

[y][fx]

[d]=1;

int f=

(fx+1)

%8;if

(!b[xx]

[yy]

[f][d+1]

)shexian

(d+1

,f,xx,yy)

; f=

(fx+7)

%8;if

(!b[xx]

[yy]

[f][d+1]

)shexian

(d+1

,f,xx,yy);}

intmain

(void

)

可怕的宇宙射線

題意 宇宙射線會在無限的二維平面上傳播 可以看做乙個二維網格圖 初始方向預設向上。宇宙射線會在發射出一段距離後 向該方向的左右45 方向 出兩條宇宙射線,同時威力不變。宇宙射線會 n次,每次 後會在 方向前進ai 個單位長度。計算出共有多少個位置會被打擊。輸入 輸入第一行包含乙個正整數n n 30 ...

C 可怕的宇宙射線(Week4CSP模擬)

眾所周知,瑞神已經達到了cs本科生的天花板,但殊不知天外有天,人外有苟。在浩瀚的宇宙中,存在著一種叫做苟狗的生物,這種生物天生就能達到人類研究生的知識水平,並且天生擅長csp,甚至有全國第一的水平!但最可怕的是,它可以發出宇宙射線!宇宙射線可以摧毀人的智商,進行降智打擊!宇宙射線會在無限的二維平面上...

Week4 CSP模擬 C 可怕的宇宙射線

過程總結 眾所周知,瑞神已經達到了cs本科生的天花板,但殊不知天外有天,人外有苟。在浩瀚的宇宙中,存在著一種叫做苟狗的生物,這種生物天 生就能達到人類研究生的知識水平,並且天生擅長csp,甚至有全國第一的水平!但最可怕的是,它可以發出宇宙射線!宇宙射線可以摧毀 人的智商,進行降智打擊!宇宙射線會在無...