bzoj 4393 Usaco Fruit Feast
阿新 • • 發佈:2017-09-11
include max [1] print scanf %d usaco log esp
題目很明顯的一道dp題目。
方程也不難推 dp[i][0]表示飽食度為i沒喝水 dp[i][1]表示當前飽食度為i已經喝了水
#include <cstdio> #include <algorithm> using namespace std; int t,a,b,Max; bool dp[5000055][2]; int main(){ scanf("%d%d%d",&t,&a,&b); dp[0][0]=1; for(int i=0;i<=t;i++){ if(dp[i][0]){if(a+i<=t) dp[a+i][0]=1; if(b+i<=t) dp[b+i][0]=1; dp[i/2][1]=1; } } for(int i=0;i<=t;i++){ if(dp[i][1]){ if(a+i<=t) dp[a+i][1]=1,Max=max(Max,a+i); if(b+i<=t) dp[b+i][1]=1,Max=max(Max,b+i); } } printf("%d\n",Max); return 0; }
bzoj 4393 Usaco Fruit Feast