hdu 1176 免费馅饼 dp
2011-11-09 14:39
363 查看
dp[i][j]=max(dp[i-1][j-1],dp[i-1][j],dp[i-1][j-1]);
如果这个位置能接到馅饼,则还要加上现在接的:dp[i][j]+=vis[i][j];
dp[i][j]表示第i秒j位置最多的馅饼数
View Code
如果这个位置能接到馅饼,则还要加上现在接的:dp[i][j]+=vis[i][j];
dp[i][j]表示第i秒j位置最多的馅饼数
View Code
#include <cstdio> #include <algorithm> using namespace std; int vis[100005][15],dp[100005][15]; int main() { int i,j,n,x,t,time,ans; while(scanf("%d",&n)&&n) { memset(vis,0,sizeof(vis)); memset(dp,0,sizeof(dp)); time=0; for (i=0;i<n;i++) { scanf("%d%d",&x,&t); vis[t][x+1]++; if(t>time)time=t; } ans=0; for (i=1;i<=time;i++) { for (j=1;j<=11;j++) { dp[i][j]=max(dp[i-1][j],max(dp[i-1][j-1],dp[i-1][j+1])); if(vis[i][j]&&j>=6-i&&6+i>=j) { dp[i][j]+=vis[i][j]; } if(dp[i][j]>ans)ans=dp[i][j]; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- G - 免费馅饼 HDU - 1176 ——dp-金字塔
- hdu 1176 免费馅饼 二维dp
- HDU 1176 免费馅饼 水dp
- Hdu 1176 免费馅饼 (DP)
- HDU 1176 免费馅饼(DP)
- HDU 1176 免费馅饼(普通dp
- HDU 1176 免费馅饼(DP)
- HDU 1176 免费馅饼【dp】
- hdu 1176 免费馅饼(DP)
- hdu1176 免费馅饼(简单DP)
- HDU 1176 免费馅饼 (DP)
- HDU 1176 免费馅饼(DP)
- HDU 1176 免费馅饼(dp)
- hdu1176 免费馅饼(dp)
- HDU_1176 免费馅饼(DP)
- DP+滚动数组-HDU-1176-免费馅饼
- hdu 1176免费馅饼(二维dp)
- hdu 1176 免费馅饼(dp)
- HDU ~ 1176 ~ 免费馅饼(DP)
- HDU 1176 免费馅饼 (经典dp)