hdu1176免费馅饼
代码有点长,不过ACCEPT了
创新点是输入时,用set数组来表示第t秒x个位置上下了一个饼
看了人家给得特殊例子,发现一个问题,当第i秒没有饼下来,或者第i秒饼下的位置人没有走到,这两种特殊情况,所以就加了以下的几行代码
if(set[i][j-1]!=0&&j-1>=0)dp[i][j-1]=max(dp[i][j-1],dp[i-1][j]+set[i][j-1]);
if(set[i][j]!=0)dp[i][j]=max(dp[i][j],dp[i-1][j]+set[i][j]);
if(set[i][j+1]!=0&&j+1<=10)dp[i][j+1]=max(dp[i][j+1],dp[i-1][j]+set[i][j+1]);
if(set[i][j-1]==0&&j-1>=0)dp[i][j-1]=max(dp[i][j-1],dp[i-1][j]+set[i][j-1]);
if(set[i][j]==0)dp[i][j]=max(dp[i][j],dp[i-1][j]+set[i][j]);
if(set[i][j+1]==0&&j+1<=10)dp[i][j+1]=max(dp[i][j+1],dp[i-1][j]+set[i][j+1]);
#include "iostream" #include "string.h" using namespace std; int max(int a,int b){return a>b?a:b;} int set[100010][12],dp[100010][16];int main(){int n,time,maxb,i,x,t,j;while(cin>>n){if(!n)break;time=0;maxb=0;memset(set,0,sizeof(set));for(i=1;i<=n;i++){cin>>x>>t;set[t][x]++;time=max(time,t);}for(i=0;i<=time;i++){for(j=0;j<=10;j++)dp[i][j]=0;}dp[0][5]=1;for(i=1;i<=time;i++){for(j=0;j<=10;j++){if(dp[i-1][j]){if(set[i][j-1]!=0&&j-1>=0)dp[i][j-1]=max(dp[i][j-1],dp[i-1][j]+set[i][j-1]);if(set[i][j]!=0)dp[i][j]=max(dp[i][j],dp[i-1][j]+set[i][j]);if(set[i][j+1]!=0&&j+1<=10)dp[i][j+1]=max(dp[i][j+1],dp[i-1][j]+set[i][j+1]);if(set[i][j-1]==0&&j-1>=0)dp[i][j-1]=max(dp[i][j-1],dp[i-1][j]+set[i][j-1]);if(set[i][j]==0)dp[i][j]=max(dp[i][j],dp[i-1][j]+set[i][j]);if(set[i][j+1]==0&&j+1<=10)dp[i][j+1]=max(dp[i][j+1],dp[i-1][j]+set[i][j+1]);}}//for(j=0;j<=10;j++)cout<<dp[i][j]<<' ';cout<<endl; }for(i=0;i<=10;i++){maxb=max(maxb,dp[time][i]);}if(maxb==0)cout<<0<<endl;else cout<<maxb-1<<endl;} }
看看人家网上的答案,才知道,自己的重要部分的代码真的挺长的,大神说这是数塔的变型,而且他跟我的一个不同点是,我从0 5走到最后,他是从最后往回走,走到0 5
看看大神的代码吧
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; int max3(int a,int b,int c) {a = a>b?a:b;a = a>c?a:c;return a; } int max2(int a,int b) {a = a>b?a:b;return a; } int t[100001][11]; int main() {int n,T,x,max;while(scanf("%d",&n)&&n){memset(t,0,sizeof(t));max = 0;while(n--){scanf("%d %d",&x,&T);t[T][x]++;max = max>T?max:T;}for(int i = max-1; i >= 0; i--){for(int j = 0; j <= 10; j++){if(j==0)t[i][j] += max2(t[i+1][j],t[i+1][j+1]);else if(j==10) t[i][j] += max2(t[i+1][j],t[i+1][j-1]);else t[i][j] += max3(t[i+1][j-1],t[i+1][j],t[i+1][j+1]);}}cout<<t[0][5]<<endl;}return 0; }
转载于:https://www.cnblogs.com/dowson/p/3281631.html
hdu1176免费馅饼相关推荐
- hdu1176 免费馅饼 动态规划 二维数组实现
免费馅饼 Time Limit: 1000MS Memory Limit: 32768KB Submit Statistic Discuss Problem Description 都说天上不会掉馅饼 ...
- hdu1176 免费馅饼 ( 数塔(DP))
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdu1176 免费馅饼 (动态规划)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdu1176 免费馅饼 nyoj613 免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- NYOJ 613 免费馅饼
免费馅饼 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy ...
- 免费馅饼 HDU - 1176
免费馅饼 HDU - 1176 题意: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
- 动态规划训练18 [免费馅饼 HDU - 1176 ]
免费馅饼 HDU - 1176 这也是一道比较简单的动态规划 dp[i][j]表示到时间i,位置为j所能采集的最大馅饼数量 状态转移非常好写 dp[i][j] = max{dp[i-1][j],dp[ ...
- HDU 1176 免费馅饼 (动态规划、另类数塔)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 【NOI1998】免费馅饼,膜一膜XYX大爷
免费馅饼 SERKOI最新推出了一种叫做"免费馅饼"的游戏:游戏在一个舞台上进行.舞台的宽度为W格,天幕的高度为H格,游戏者占一格.开始时游戏者站在舞台的正中央,手里拿着一个托盘. ...
- 1644 免费馅饼 题解(c++)(S.B.S.)
1644 免费馅饼(巴蜀oj上的编号) 题面: SERKOI最新推出了一种叫做"免费馅饼"的游戏. 游戏在一个舞台上进行.舞台的宽度为W格,天幕的高度为H格,游戏者占一格.开始时, ...
最新文章
- like mysql 相反_mysql真的不能做搜索引擎吗?
- fiddler使用_为什么要使用fiddler抓包?抓包用来干什么?
- C# EntityFramework连接MySQL (DbFirst)
- 北师大版图形的旋转二教案_新北师大版八年级下册数学 《图形的旋转(2)》教案...
- Android开发原创教程
- next_permutation()
- 警方耗时19天抓捕了摄像头破解软件黑产,但你还要知道这些才能放心
- Ubuntu最佳字体推荐
- 盘点2022年最受欢迎的6大前端框架
- 计算机大写改成拼音形式,excle中汉字怎么转为大写拼音/excel如何将数字变成中文大写?...
- JAWS模块分析(小东子)
- 拥塞控制算法(Congestion Control)对比
- python游戏开发引擎_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python
- NAB展会BOSMA博冠8K全系8K摄像机产品惊艳亮相
- Joining multiple DataFrames only supported for joining on index
- 樱花樱花想见你 (中日歌词+罗马音+音译)
- 华为Freelace pro音质突然下降的解决方案
- 微交易平台官网_熟悉官网常用版块
- 超强AI绘画Midjourney使用教程
- 在word中输入带方块的对号