2019阿里校招測評題 程式設計

2021-08-22 00:05:58 字數 1232 閱讀 6566

明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題:設計接力跑大賽的線路,你能幫助他們完成這項工作麼?

光明小學可以抽象成一張有n個節點的圖,每兩點間都有一條道路相連。光明小學的每個班都有m個學生,所以你要為他們設計出一條恰好經過m條邊的路徑。

光明小學的小朋友們希望全盤考慮所有的因素,所以你需要把任意兩點間經過m條邊的最短路徑的距離輸出出來以供參考。

你需要設計這樣乙個函式:

res solve( n, m, map);

注意:map必然是n * n的二維陣列,且map[i][j] == map[j][i],map[i][i] == 0,-1e8 <= map[i][j] <= 1e8。(道路全部是無向邊,無自環)2 <= n <= 100, 2 <= m <= 1e6。

map陣列表示了一張稠密圖,其中任意兩個不同節點i,j間都有一條邊,邊的長度為map[i][j]。n表示其中的節點數。

你要返回的陣列也必然是乙個n * n的二維陣列,表示從i出發走到j,經過m條邊的最短路徑

你的路徑中應考慮包含重複邊的情況。

樣例:n = 3

m = 2

map = ,,}

輸出結果result為:

result = ,,}

輸入樣例:32

3 3 

0 2 3

2 0 1

3 1 0

輸出樣例:

[[4, 4, 3],

[4, 2, 5],

[3, 5, 2]]

#include #include #include using namespace std;

vector> result;

vector> map;

int mindis = int_max;

void dfs(int start, int end, int n, int m, int distance, int steps)

int rdis;

for (int next = 0; next < n; next++) }

vector> solution(int n, int m)

} return result;

}int main()

} solution(n, m);

for (int i = 0; i < result.size(); i++)

return 0;

}

參考部落格:

程式設計 網易2019校招筆試程式設計題

題目 小易有乙個古老的遊戲機,上面有著經典的遊戲俄羅斯方塊。因為它比較古老,所以規則和一般的俄羅斯方塊不同。熒幕上一共有 n 列,每次都會有乙個 1 x 1 的方塊隨機落下,在同一列中,後落下的方塊會疊在先前的方塊之上,當一整行方塊都被佔滿時,這一行會被消去,並得到1分。有一天,小易又開了一局遊戲,...

騰訊前端2019校招程式設計題題解

題目 這個數是和諧的嗎?12 1 2 0,所以12是和諧的 輸入 3 表示3行資料 3412 13輸出 noyes no var readline require readline const rl readline.createinte ce var curline 0 var t 0 var i...

2019校招真題程式設計(十)瞌睡

小易覺得高數課太無聊了,決定睡覺。不過他對課上的一些內容挺感興趣,所以希望你在老師講到有趣的部分的時候叫醒他一下。你知道了小易對一堂課每分鐘知識點的感興趣程度,並以分數量化,以及他在這堂課上每分鐘是否會睡著,你可以叫醒他一次,這會使得他在接下來的k分鐘內保持清醒。你需要選擇一種方案最大化小易這堂課聽...