*光明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題:設計接力跑大賽的線路,你能幫助他們完成這項工作麼?
光明小學可以抽象成一張有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。要求時間複雜度控制在o(n^3*log(m))。
map陣列表示了一張稠密圖,其中任意兩個不同節點i,j間都有一條邊,邊的長度為map[i][j]。n表示其中的節點數。
你要返回的陣列也必然是乙個n * n的二維陣列,表示從i出發走到j,經過m條邊的最短路徑
你的路徑中應考慮包含重複邊的情況。
這個題目要求在30分鐘內解決,臣妾做不到的說。先來看看題目解析。
#include using namespace std;
void solve(int n, int m, int** map, int** res)}}
} for (int j = 0; j < n; j++)
res[i][j] = e[j][m - 1];
}};int main()
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
cin >> map[i][j];
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
res[i][j] = 100000000;
solve(n, m, map, res);
for (i = 0; i < n; i++)
for (i = 0; i < n; i++)
delete res[i];
delete res;
return 0;
}
程式設計測試題 阿里巴巴2023年提前批程式設計題
光明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題 設計接力跑大賽的線路,你能幫助他們完成這項工作麼?光明小學可以抽象成一張有n個節點的圖,每兩點間都有一條道路相連。光明小學的每個班都有m個學生,所以你要為他們設計出一條恰好經過m條邊的路徑。光明小學的小朋友們希望全盤考慮所...
2019 阿里巴巴雲原生這一年
劃重點 spring 官方宣布 spring cloud alibaba 畢業 serverless 任務編排服務函式工作流公測。函式工作流可靠地執行流程步驟,並提供視覺化 日誌記錄和審計來追蹤監控工作流的執行,大幅簡化使用者編排分布式任務 微服務的難度,幫助使用者聚焦業務邏輯的創新 edas 專有...
阿里巴巴演算法崗程式設計題 菜鳥倉庫
菜鳥倉庫是乙個很大很神奇的地方,各種琳琅滿目的商品整整齊齊地擺放在一排排貨架上,通常一種品類的商品會放置在貨架的某乙個格仔中,格仔設有統一的編號,方便工人們挑選。有一天沐哲取菜鳥倉庫參觀,無意中發現第1個貨架格仔編碼為1,第2 3個分別為1,2,第4 6個格仔分別是1,2,3,第7 10個格仔編號分...