程式語言作業44 (陣列運用) 地圖運算

寫一個在二維座標移動的程式,假設定義移動方式 0 朝上,1 往右,2 朝下,3 往左。如下圖範例中,座標 (y座標 , x座標)=(1,1) 者為 3,往上座標為 (0,1),方格值為 2。往右座標為 (1,2),方格值為 7。往下座標為 (2,1),方格值為 5。往左座標為 (1,0),方格值為 8。



今寫一程式,可在二維座標上移動,並計算通過的方格值總和。
以下圖為例,起點座標假設為 (2,0),移動指令為 10123 (1右0上1右2下3左),則通過的方格值為 6 , 5 , 3 , 7 , 1 , 5,其總和為 6+5+3+7+1+5=27。程式輸出總和 27。



程式第一列輸入 m n 整數值,表示為 mxn 陣列。
其後輸入 m 列資料,每列包含 n 個方格值(以空白隔開)。
接著輸入起始座標 x0 y0 (以空白隔開)。
其後輸入移動指令。
1≤m,n≤9,方格值範圍 -1000 ~ 1000,起始座標及移動後的座標均在陣列範圍內。
註:移動指令為阿拉伯數字(0,1,2,3)組合的字串,長度不超過 1000。


輸出二維陣列經過移動後的方格值總和。


4 4
4 2 9 8
8 3 7 5
6 5 1 0
4 4 2 3
2 0
10123

2 6
5 -2 3 9 7 -1
-3 4 -1 -2 9 6
1 4
03332


27

30