• 浙江中医药大学第十二届大学生程序设计竞赛 F. Jhadgre的伤心地


    链接:https://ac.nowcoder.com/acm/contest/333/F
    来源:牛客网
     

    题目描述

    Jhadgre为了他的女神,准备了一场盛大的告白,可惜却被女神毫不留情的拒绝。于是Jhadgre决定离开这个伤心之地。但是钱都被Jhadgre拿去准备告白了,剩下的钱并不够他买车票,只够他坐公交车。

    Jhadgre所在城市的所有公交车站总体来说都在一条直线上,在这里有两种公交车,一种是全城公交,这种公交车在城市的任何一站都可以上下车,付了车费后,从当前站开始,最多可以向后坐5站(即从第i站上车,可以选择在第i+1,i+2,i+3,i+4,i+5站下车)。还有一种是区间公交,也就是可以在第X站上车,直到第Y站(X<Y),中途每一站都可以下车但不可以上车。所有公交车的上车费都是2元。

    现在Jhadgre为了最快的逃离这个伤心地,他决定不管上哪种公交车,只要上去了,就一定坐到底再下车,中途不会下车,并且他现在所在的地点为第1站,他认为要到第N站以后的站,他才算彻底逃离这个伤心地。

    现在Jhadgre想知道他手里的钱够不够逃离这个伤心地,你可以帮他计算一下他最少需要花多少钱才能离开这个伤心地吗?

    输入描述:

    只包含一组数据。
    第一行一个整数N,意义如题(10<=N<=100)
    接下去一行中共N个整数a1,a2,a3...aN,由空格隔开,ai表示第i站的区间公交能到达第ai站,保证(i<ai)

    输出描述:

    Jhadgre最少需要花的钱

    示例1

    输入

    复制

    10
    7 11 4 5 6 7 8 9 10 11
    

    输出

    复制

    4

    说明

    以下给出两种乘车方案:
    
    (1) Jhadgre在第1站选择上全城公交,到达第6站,付2元钱,接着在第6站选择上全城公交,到达第11站,共付4元钱。
    
    (2) Jhadgre在第1站选择上区间公交,到达第7站,付2元钱,接着在第7站选择上全城公交,到达第12站,共付4元钱。
    #include<iostream>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<stack>
    #include<queue>
    #define pi acos(-1.0)
    using namespace std;
    typedef long long LL;
    
    
    int a[100000];
    int n;
    int AC(int x)
    {
    	if (x>n)
    	return 0;
    	else
    	{
    		return 
    		min( AC(x+5) , AC(a[x]) )+1;
    	}
    	
    }
    int main()
    {
    	int m,j,k,i,T;
    	cin>>n;
    	for (i=1;i<=n;i++)
    	cin>>a[i]; 
    	
    	cout<<AC(1)*2<<endl;
    	return 0;
    }
  • 相关阅读:
    [NOI Online 提高组]冒泡排序
    三元上升子序列
    上帝造题的七分钟2 / 花神游历各国
    JZOJ 1038. 【SCOI2009】游戏
    android.view.View
    SQLServer导出导出单表数据
    Android-support-v4源码查看
    一些平台
    Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
    AsyncTask
  • 原文地址:https://www.cnblogs.com/Romantic-Chopin/p/12451305.html
Copyright © 2020-2023  润新知