華為od機試-計算網(wǎng)絡(luò)信號

題目描述
網(wǎng)絡(luò)信號經(jīng)過傳遞會逐層衰減,且遇到阻隔物無法直接穿透,在此情況下需要計算某個位置的網(wǎng)絡(luò)信號值。注意:網(wǎng)絡(luò)信號可以繞過阻隔物
array[m][n] 的二維數(shù)組代表網(wǎng)格地圖
array[i][j]=0代表i行j列是空曠位置;
array[i][j]=x(x為正整數(shù))代表i行j列是信號源,信號強度是x;
array[i][j]=-1代表i行j列是阻隔物.
信號源只有1個,阻隔物可能有0個或多個
網(wǎng)絡(luò)信號衰減是上下左右相鄰的網(wǎng)格衰減 1
現(xiàn)要求輸出對應(yīng)位置的網(wǎng)絡(luò)信號值。
輸入描述
輸入為三行,第一行為 m、n,代表輸入是一個mxn的數(shù)組。第二行是一串 m xn 如個用空格分隔的整數(shù)
每連續(xù)n個數(shù)代表一行,再往后 n個代表下一行,以此類推。對應(yīng)的值代表對應(yīng)的網(wǎng)格是空礦位置,還是信號源,還是阻隔物。第三行是i、j,代表需要計算 array[i][j]的網(wǎng)絡(luò)信號值。
注意:此處i和j均從 0 開始,即第一行i 為 0
輸出描述
輸出對應(yīng)位置的網(wǎng)絡(luò)信號值,如果網(wǎng)絡(luò)信號未覆蓋到,也輸出0。
一個網(wǎng)格如果可以途徑不同的傳播衰減路徑傳達(dá),取較大的值作為其信號值。
示例1:
輸入:
6 5
0 0 0 -1 0 0 0 0 0 0 0 0 -1 4 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
1 4
輸出:
2
示例2:
輸入:
6 5
0 0 0 -1 0 0 0 0 0 0 0 0 -1 4 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0
2 1
輸出:
0
備注
1.m不一定等于n,m<100 n<100,網(wǎng)絡(luò)信號之和小于1000。
2.信號源只有1個,阻隔物可能有0個或多個。
3.輸入的 m,n 與第二行的數(shù)組是合法的,無需處理數(shù)量對不上的異常情況。
4.要求輸出信號值的位置,不會是阻隔物。
————————————————
版權(quán)聲明:本文為CSDN博主「MISAYAONE」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://renjie.blog.csdn.net/article/details/128351616
Java 實現(xiàn) :https://renjie.blog.csdn.net/article/details/128351616
Python實現(xiàn):https://renjie.blog.csdn.net/article/details/128351598
C++ 實現(xiàn):https://renjie.blog.csdn.net/article/details/128351633