思想: (贪心算法 ,看到题目是中文才做的)

  • 先对数组中的数据进行排序,从最小的数据计算 当前的顶点的可以滑行的最大值=max(周围可达的顶点的可以滑行的最大值)+1
  • 这样计算最后产生的路径肯定是最大的
  • (看discuss中,有动态规划和dfs实现的代码,回头看看)
    1. #include <iostream>
    2. #include <algorithm>
    3. using namespace std;
    4. #define MAX 10005
    5. /*488K 63MS*/
    6. typedef struct _point
    7. {
    8. int x;
    9. int y;
    10. int w;//权重
    11. }point;
    12.  
    13. int cmp(const void *a,const void *b);
    14. int main()
    15. {
    16. int r,c;
    17. cin>>r>>c;
    18.  
    19. point p[MAX];
    20. int a[102][102];
    21. int index=0;
    22. for(int i=0;i<r;i++)
    23. for(int j=0;j<c;j++)
    24. {
    25. p[index].x=i;
    26. p[index].y=j;
    27. cin>>a[i][j];
    28. p[index++].w=a[i][j];
    29. }
    30.  
    31. qsort(p,index,sizeof(p[0]),cmp);
    32.  
    33. //贪心算法
    34. int b[102][102];
    35. memset(b,0,sizeof(b));
    36.  
    37. int result=0;
    38. for(int i=0;i<index;i++)
    39. {
    40. //计算四周的值的大小
    41. int max=1;
    42. int x=p[i].x;
    43. int y=p[i].y;
    44. int w=p[i].w;
    45. //up
    46. if(x>0)
    47. {
    48. if(w>a[x-1][y]&&max<=b[x-1][y])
    49. max=b[x-1][y]+1;
    50. }
    51. //down
    52. if(x<r-1)
    53. {
    54. if(w>a[x+1][y]&&max<=b[x+1][y])
    55. max=b[x+1][y]+1;
    56. }
    57. //left
    58. if(y>0)
    59. {
    60. if(w>a[x][y-1]&&max<=b[x][y-1])
    61. max=b[x][y-1]+1;
    62. }
    63. //right
    64. if(y<r-1)
    65. {
    66. if(w>a[x][y+1]&&max<=b[x][y+1])
    67. max=b[x][y+1]+1;
    68. }
    69. b[x][y]=max;
    70. if(result<max)
    71. result=max;
    72. }
    73.  
    74. cout<<result<<endl;
    75. system("pause");
    76. return 0;
    77. }
    78.  
    79. int cmp(const void *a,const void *b)
    80. {
    81. return ((*(point *)a).w-(*(point *)b).w);
    82. }

poj 1088 滑雪(贪心算法)的更多相关文章

  1. POJ 1088 滑雪(记忆化搜索+dp)

    POJ 1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 107319   Accepted: 40893 De ...

  2. POJ 1088 滑雪(记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 92384   Accepted: 34948 Description ...

  3. POJ 1088 滑雪 【记忆化搜索经典】

    题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:  ...

  4. POJ 2287 田忌赛马 贪心算法

    田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两 ...

  5. POJ 1088 滑雪 -- 动态规划

    题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  6. OpenJudge/Poj 1088 滑雪

    1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...

  7. poj 1088 滑雪(区间dp+记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...

  8. POJ 1088 滑雪 (记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 题意很好懂,就是让你求一个最长下降路线的长度. dp[i][j]记录的是i j这个位置的最优的长度,然后转移方程是dp[i][j ...

  9. poj 1088 滑雪 DP(dfs的记忆化搜索)

    题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 ...

随机推荐

  1. c++ Constructor FAQ 继续

    这一章的时候,才明白什么是编译器的声明只会是一个默认的构造.这也解释了为什么同一似乎没有意义的界定,如果不还声明默认构造函数的意义. Q:当编译器隐含定义了一个默认的构造函数. 答: 一个隐式声明的默 ...

  2. ORACLE 中IN和EXISTS比较

    ORACLE 中IN和EXISTS比较 EXISTS的执行流程      select * from t1 where exists ( select null from t2 where y = x ...

  3. jmeter之自定义java请求性能测试

    一.环境准备         1.新建一个java工程         2.导入jar包:ApacheJMeter_core.jar     ApacheJMeter_java.jar         ...

  4. 4. SQL Server数据库状态监控 - 作业状态

    原文:4. SQL Server数据库状态监控 - 作业状态 有很多地方可以设置定时任务,比如:Windows的计划任务,Linux下的crontab,各种开发工具里的timer组件.SQL Serv ...

  5. Linux启用/关闭触摸板脚本

    一个可以启动关闭触摸板的shell脚本 运行一次关闭,再次运行开启. [shell] #!/bin/bash ts=`synclient -l|grep TouchpadOff` ts=${ts#*= ...

  6. Mac OSX操作系统安装和配置Zend Server 6教程(4)

    在前三节中,完成了安装和配置,最后是登录后台,并设置权限.Zend server后台登录默认端口是10081.浏览器中的的地址应输入http://localhost:10081/ZendServer. ...

  7. Java凝视Override、Deprecated、SuppressWarnings详细解释

    一.什么是视线     说起目光,你必须先提什么是元数据(metadata). 所谓元数据是数据的数据.那.元数据是描述数据的叙述. 像在表中的数据字段,叙述了这个字段下的数据的含义.而J2SE5.0 ...

  8. Android项目---语言适配

    android多国语言文件夹 android多国语言文件夹文件汇总如下:(有些语言的书写顺序可能跟中文是相反的) 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中 ...

  9. Spire.Office for .NET(Word、Excel、PPT、PDF等)

    使用Spire.Office for .NET(Word.Excel.PPT.PDF等)的初步感受 前言 本文大部分内容来自http://www.codeproject.com/Articles/71 ...

  10. AppCompat v21 — Android 5.0之前版本设备的Material Design实现

    博客原文地址:http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html,要想打 ...