思路:這道題不複雜,很明顯是個dp題,資料比較大,搜尋應該會超時,想到如何初始化,注意細節就差不多了。定義dp陣列,邊輸入邊初始化,dp[i][j]表示第i秒j處的掉落餡餅個數。dp過程從最後一秒逆向進行更方便,過程中dp[i][j]表示逆向到第i秒j處得到餡餅的最大值。有個坑點:最後輸入的一組資料的時間不一定是最後一秒,我在這wa了一發。詳見**:
1 #include2using
namespace
std;34
int n,x,t,tt,dp[100005][15];5
6int
main()
15for(int i=tt-1;i>=0;i--)
16for(int j=0;j<=10;j++)
21 printf("
%d\n
",dp[0][5
]);22}23
return0;
24 }
HDOJ1176 免費餡餅 (DP)
免費餡餅 初始位置為5,輸入時間和位置,從1秒開始,每次可以移動乙個位置,一秒時可接住4,5,6處餡餅,求最大接住餡餅數。include include include using namespace std int dp 20 1123456 int maxof3 int a,int b,int ...
hdoj 1176 免費餡餅
典型數塔 的變形 開始以為0是一組輸入的結束而不是多組輸入的結束 runtime error了 accepted 1176 78ms 4900k g include includeusing namespace std int dp 12 100001 int max const int t1,co...
Hdoj 1176 免費餡餅
problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於...