光明小學的小朋友們要舉行一年一度的接力跑大賽了,但是小朋友們卻遇到了乙個難題:設計接力跑大賽的線路,你能幫助他們完成這項工作麼?
光明小學可以抽象成一張有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]]
這是我在c下面用dfs寫的**,沒用用剪枝,是乙個非常暴力的dfs,看到網上有乙個python的答案是錯的,所以自己寫了乙個,但是考的時候時間太短了沒寫完,是下來寫的。
這個測評對面試、筆試沒有任何影響,沒寫出來也沒關係,但是大家還是不要直接複製黏貼我的,萬一別人做個查重,你們所有人都複製黏貼我的會被發現的。
主要就是我不寫出來不開心,所以自己下來寫了。。。。。。。。。
#include #include #include #include #include #include #include /*
輸入樣例:32
3 3
0 2 3
2 0 1
3 1 0
輸出樣例:
[[4, 4, 3],
[4, 2, 5],
[3, 5, 2]]
*//** 請完成下面這個函式,實現題目要求的功能 **/
/** 當然,你也可以不按照這個模板來作答,完全按照自己的想法來 ^-^ **/
#define maxval 100000
void dfs(const long n, const long m, const int target, long *maxdis, long** map, int step, int thispoint, int nowdis)
} return; }
for (int nextpoint = 0; nextpoint < n; nextpoint++) }
} long** solve(long n, long m, int map_size_row, int map_size_cols, long** map, int* result_size_rows, int* result_size_cols)
for (int j = 0; j < map_size_cols; j ++)
for (int i = j; i < map_size_row; i++)
*result_size_rows = map_size_row;
*result_size_cols = map_size_cols;
return res;}
int main()
int _map_i, _map_j;
for (_map_i = 0; _map_i < _map_rows; _map_i++) }
res = solve(_n, _m, _map_rows, _map_cols, _map, &res_size_rows, &res_size_cols);
int res_i, res_j;
for (res_i = 0; res_i < res_size_rows; res_i++)
printf("\n"); }
return 0;
}
阿里巴巴筆試題
1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...
阿里巴巴筆試題
題意 給定一串數字 判斷是否存在這三個元素,它們將數字串分為四個子串,其中每個子串的數字之和均相同 該3個元素不納入計算 要求時間複雜度和空間複雜度均不能超過o n 思路 奇妙的利用了單調性,列舉第一段的和,第一段的和確定了,那麼接下來的2,3,4段的和就都確定了,什麼單調性呢?就是i右移,j,k都...
阿里巴巴筆試題
1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...