zoukankan      html  css  js  c++  java
  • 2017年9月2日普级组T2 跳格子

    Description

    大家都说要劳逸结合,Ayumi, Mitsuhiko, Genta画完方格就出去运动啦!
    他们来到了一片空地,画了N个连续的方格,每个方格上随机填上了一个数字,大家从第一个格子开始,每次可以向后跳不超过当前格子上的数的步数,大家开始就此比赛,看谁跳到最后一个格子的步数最少。
    作为队长的Genta显然是想获得胜利的,所以他打电话给Conan求助,可是Conan在玩游戏,所以就向你求助了。

    Input

    输入第一行包含一个整数N,表示画的格子的个数。
    第二行包含N整数,表示每个格子上的数。

    Output

    输出一行,表示跳的最少步数。

    Sample Input
    5
    2 3 1 1 1

    Sample Output
    2

    分析
    这题是一道dp(非常水)
    设f[i]表示从格子1到格子i的最少步数
    得:f[i]:=min(f[i],f[j]+1);a[j]+j>=i;1<=j<=i-1;

    程序:

    var
    n,i,j:longint;
    a,f:array[0..6000]of longint;
    
    function min(x,y:longint):longint;
    begin
        if x<y then exit(x) else exit(y);
    end;
    
    begin
        assign(input,'jump.in');
        reset(input);
        assign(output,'jump.out');
        rewrite(output);
        readln(n);
        for i:=1 to n do
        read(a[i]);
        for i:=2 to n do
        f[i]:=maxlongint;
        f[1]:=0;
        for i:=2 to n do
        for j:=1 to i-1 do
        if a[j]+j>=i then f[i]:=min(f[i],f[j]+1);
        write(f[n]);
        close(input);
        close(output);
    end.
    
    
  • 相关阅读:
    Celery的使用
    python中使用redis
    Redis基础
    版本控制器git
    day 74作业
    Djangorestfromwork作业1
    Django rest-framework的jwt认证
    Django --form验证
    cx-oracle-------------------安装
    排序算法
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500050.html
Copyright © 2011-2022 走看看