網易遊戲雷火盤古招聘題(一)

2021-07-28 21:44:49 字數 3423 閱讀 9312

網易遊戲雷火盤古招聘題(一)

[程式設計題]賽馬

在一條無限長的跑道上,有n匹馬在不同的位置上出發開始賽馬。當開始賽馬比賽後,所有的馬開始以自己的速度一直勻速前進。每匹馬的速度都不一樣,且全部是同樣的均勻隨機分布。在比賽中當某匹馬追上了前面的某匹馬時,被追上的馬就出局。 請問按以上的規則比賽無限長的時間後,賽道上剩餘的馬匹數量的數學期望是多少

輸入描述:

每個測試輸入包含1個測試用例輸入只有一行,乙個正整數n1 <= n <= 1000

輸出描述:

輸出乙個浮點數,精確到小數點後四位數字,表示剩餘馬匹數量的數學期望

輸入例子:12

輸出例子:

1.0000 1.5000 

思路:對於最後一匹馬而言, 它沒有辦法被其他馬追上(因為它後面已經沒馬了),所以它不會出局,他存活的概率就是1,對於倒數第二匹而言,他只有被後面1匹馬追上,或者不被追上 所以是1/2,同理,倒數第三匹1/3…………所以n匹馬就是1/1+1/2+1/3+1/4+………+1/n.。

**實現(c/c++):  

#include

#include //使用小數格式控制時使用的標頭檔案

using namespace std;

int main()

//fixed << setprecision(i)   用來控制 小數點後面的位數,i為具體的位數 

cout << fixed  << setprecision(4) << sum;

return 0;

} [程式設計題]字串編碼

給定乙個字串,請你將字串重新編碼,將連續的字元替換成「連續出現的個數+字元」。比如字串aaaabccdaa會被編碼成

4a1b2c1d2a。

輸入描述:

每個測試輸入包含1個測試用例每個測試用例輸入只有一行字串,字串只包括大寫英文本母,長度不超過10000。

輸出描述:

輸出編碼後的字串

輸入例子:

aaaabccdaa

輸出例子:

4a1b2c1d2a

思路:

解題的著眼點在於每2個字母是否相同,根據這個實現思路有很多,其實最簡潔的的應該是用正規表示式,我用的比較笨的方法。。。

**實現(c/c++):  

#include

#include

using namespace std;

void tihuan(char c );

int main()

void tihuan(char c)

j++;}}

[程式設計題]最大和

在乙個n*n的陣列中尋找所有橫,豎,左上到右下,右上到左下,四種方向的直線連續d個數字的和裡面最大的值

輸入描述:

每個測試輸入包含1個測試用例,第一行包括兩個整數 n 和 d :3 <= n <= 1001 <= d <= n接下來有n行,每行n個數字d:0 <= d

<= 100

輸出描述:

輸出乙個整數,表示找到的和的最大值

輸入例子:

4 287 98 79 61

10 27 95 70

20 64 73 29

71 65 15 0

輸出例子:

193思路:

一種簡單粗暴乙個乙個遍歷,另一種是遞迴。下面是我照的網上乙個人寫的遞迴演算法

**實現(c/c++): 

#include

#include

#include

#include

#include

using namespace std;

int ans;

int n,d;

int a[104][104];

void dfs(int sum,int cnt,int x,int y,int op)

int main()

cout << ans << endl;

return 0;

}[程式設計題]推箱子

大家一定玩過「推箱子」這個經典的遊戲。具體規則就是在乙個n*m的地圖上,有1個玩家、1個箱子、1個目的地以及若干障礙,其餘是空地

。玩家可以往上下左右4個方向移動,但是不能移動出地圖或者移動到障礙裡去。如果往這個方向移動推到了箱子,箱子也會按這個方向移

動一格,當然,箱子也不能被推出地圖或推到障礙裡。當箱子被推到目的地以後,遊戲目標達成。現在告訴你遊戲開始是初始的地圖布局,

請你求出玩家最少需要移動多少步才能夠將遊戲目標達成。

輸入描述:

每個測試輸入包含1個測試用例第一行輸入兩個數字n,m表示地圖的大小。其中0

圖。其中 . 表示空地、x表示玩家、*表示箱子、#表示障礙、@表示目的地。每個地圖必定包含1個玩家、1個箱子、1個目的地。

輸出描述:

輸出乙個數字表示玩家最少需要移動多少步才能將遊戲目標達成。當無論如何達成不了的時候,輸出-1。

輸入例子:

4 4

....

..*@

....

.x..

6 6.

..#...

.....#

*##...

.##.#.

.x....

@#...

輸出例子:311

思路:。。。。。。。我也不會 等我研究完再說。

**實現(c/c++): 

#include 

#include 

#include 

using namespace std;

int n,m,x1,x2,x3,y1,y2,y3;

char map[10][10],flag[8][8][8][8];

int value[4][2] = ,,,};

int abs(int a)

struct node

};int bfs()

else if(i == 1)

else if(i == 2)

else

if(!(temp2.a>=0 && temp2.a=0 && temp2.b

}if(temp2.a == x3 && temp2.b == y3) return temp2.t;

if(flag[temp2.x][temp2.y][temp2.a][temp2.b]) continue;

flag[temp2.x][temp2.y][temp2.a][temp2.b] = 1;

q.push(temp2);}}

}return -1;

}int main()

if(map[i][j] == '*')

if(map[i][j] == '@')}}

memset(flag,0,sizeof(flag));

cout<

return 0;

2018網易遊戲雷火盤古實習生招聘筆試真題

1.字串編碼 輸入描述 每個測試輸入包含1個測試用例 每個測試用例輸入只有一行字串,字串只包括大寫英文本母,長度不超過10000。輸出描述 輸出編碼後的字串 輸入例子 aaaabccdaa 輸出例子 4a1b2c1d2a 思路分析 這道題好像以前是一家企業的面試題,leetcode easy級別,思...

2017網易遊戲雷火盤古實習生招聘筆試真題

1.給定乙個字串,請你將字串重新編碼,將連續的字元替換成 連續出現的個數 字元 比如字串aaaabccdaa會被編碼成4a1b2c1d2a。include include char s 10004 int main tem s i cot 1 else cot printf d c cot,tem ...

2017網易遊戲雷火盤古實習生招聘筆試真題 推箱子

2018.3.19 此題我用了廣度優先搜尋 bfs 的方法.廣度優先搜尋不僅僅可以使用在圖的遍歷中,而且可以用於求解複雜問題的最優解。本題就是利用bfs的經典題目,首先來分析這個問題 查詢空間 所有 0,0,0 到點 a 1,b 1,c 1 合法的行走路徑 查詢目標 找到通往出口的最短路徑 查詢方法...