g社正在開發乙個新的戰棋類遊戲,在這個遊戲中,角色只能向2個方向移動:右、下。移動需要消耗行動力,遊戲地圖上劃分m*n個格仔,當角色移動到某個格仔上時,行動力就會加上格仔上的值k(-100~100),當行動力<=0時遊戲失敗,請問要從地圖左上角移動到地圖右下角至少需要多少起始行動力,注意(玩家初始化到起始的左上角格仔時也需要消耗行動力)
第一行輸入格仔行列數(格式為 m n),第2~m+1行每行輸入n個數,作為格仔值k,中間以空格分割;0 < m, n < 1000,-100 < k < 100
初始最小行動力示例1
2 3-2 -3 3
-5 -10 1
6這道題目就是逆向使用動態規化遞推,難度較大
#include const int n=1000;
using namespace std;
int main()
dp[n-1][m-1] = max(1,1-nums[n-1][m-1]);
for(int i=n-1;i>=1;i--)
dp[i-1][m-1]=max(1,dp[i][m-1]-nums[i-1][m-1]);
for(int j=m-1;j>=1;j--)
dp[n-1][j-1]=max(1,dp[n-1][j]-nums[n-1][j-1]);
for(int i=n-1;i>=1;i--)
}if(dp[0][0]) cout
廣聯達2018校招筆試題
廣聯達現場筆試,有一種難受叫做,沒時間了,也沒紙了,但是卻發現了程式的錯誤。第一題 輸入乙個n,輸出1 2 3 4 5 6 7.n的值。int fun int num return sum void main void main int num cin num int len sizeof ar s...
滴滴附加題(2018校招)
題目大意,有n個路口,r條路,每條路可以雙向走,希望求得從第乙個路口走到第n個路口需要的次最短路徑。輸入 第一行 兩個正整數,r和n 第二行到第r 1行每行輸入三個正整數,分別為起始路口號 終點路口號和距離。輸出 次最短距離。輸入樣例 4 4 1 2 100 2 3 150 2 4 200 3 4 ...
網易校招2018程式設計題
小易將n個棋子擺放在一張無限大的棋盤上。第i個棋子放在第x i 行y i 列。同乙個格仔允許放置多個棋子。每一次操作小易可以把乙個棋子拿起並將其移動到原格仔的上 下 左 右的任意乙個格仔中。小易想知道要讓棋盤上出現有乙個格仔中至少有i 1 i n 個棋子所需要的最少操作次數.輸入描述 輸入包括三行,...