問題描述:
宇宙射線會在無限的二維平面上傳播(可以看做乙個二維網格圖),初始方向預設向上。宇宙射線會在發射出一段距離後**,向該方向的左右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,甚至有全國第一的水平!但最可怕的是,它可以發出宇宙射線!宇宙射線可以摧毀 人的智商,進行降智打擊!宇宙射線會在無...