免費餡餅
設f[x][t]表示位置x處,第t秒能獲得的最大餅數,則
f[x][t] = max(f[x - 1][t + 1], f[x][t + 1], f[x + 1][t + 1]) + f[x][t]
因為位置0無法-1,所以對位置全部做+1的處理
二刷:
#include
#include
#include
using namespace std;
const
int maxn =
100000
;int f[15]
[maxn]
;// f[x][t]表示第t秒,位置x處能獲得的最大餅數。
int timemax, n;
intmain()
for(
int t = timemax -
1; t >=
0; t--
)for
(int x =
1; x <=
11; x++
) f[x]
[t]=
max(f[x -1]
[t +1]
,max
(f[x]
[t +1]
, f[x +1]
[t +1]
))+ f[x]
[t];
cout << f[6]
[0]<< endl;
}return0;
}
一刷:
#include
#include
#include
#include
#include
#define maxn 100000
using namespace std;
intmax2
(int a,
int b,
int c)
int dp[maxn][12
];//dp[i][j]表示第i秒,第j個位置能獲得的最大餅數。
int ans =
0,max_time =
0,n;
void
deep_programming()
}}intmain()
deep_programming()
; cout<[6
]<}return0;
}
NYOJ 613免費餡餅 動態規劃解法
讀題 一開始看題感到無從下筆,看到t給出範圍後想到老師說看到引數給範圍便想一想能不能建陣列來解決。而這時認真看一下題,每一秒落在乙個位置x上 不正好可以建乙個陣列 a來儲存嗎 構思 由第一組測試資料 6 5 14 1 6 17 2 7 28 3 得到a陣列 這樣便可由a用深度優先搜尋來找最大餡餅數 ...
NYOJ 613免費餡餅 動態規劃解法
讀題 一開始看題感到無從下筆,看到t給出範圍後想到老師說看到引數給範圍便想一想能不能建陣列來解決。而這時認真看一下題,每一秒落在乙個位置x上 不正好可以建乙個陣列 a來儲存嗎 構思 由第一組測試資料 6 5 14 1 6 17 2 7 28 3 得到a陣列 這樣便可由a用深度優先搜尋來找最大餡餅數 ...
NYOJ 613免費餡餅
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不 掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameb...