zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯VIP 算法提高 超级玛丽

    算法提高 超级玛丽
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      大家都知道"超级玛丽"是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步。有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2,…am,陷入其中则必死无疑。显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的。
      现在给出小道的长度n,陷阱的个数及位置。求出玛丽从位置1开始,有多少种跳跃方法能到达胜利的彼岸(到达位置n)。
    输入格式
      第一行为两个整数n,m
      第二行为m个整数,表示陷阱的位置
    输出格式
      一个整数。表示玛丽跳到n的方案数
    样例输入
    4 1
    2
    样例输出
    1
    数据规模和约定
      40>=n>=3,m>=1
      n>m;
      陷阱不会位于1及n上

    import java.util.Scanner;
    
    
    public class 超级玛丽 {
    	static int n;
    	static int num=0;
    	static void recurse(int cur,int a[]){
    		if(cur==n){
    			num++;
    			return;
    		}
    		if(cur+1<=n&&a[cur+1]==0)
    			recurse(cur+1,a);
    		if(cur+2<=n&&a[cur+2]==0)
    			recurse(cur+2,a);
    	}
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		n=in.nextInt();
    		int m=in.nextInt();
    		int a[]=new int[n+1];
    		for(int i=0;i<m;i++){
    			int t=in.nextInt();
    			if(t<n)
    				a[t]=1;
    		}
    		recurse(1,a);
    		System.out.println(num);
    
    	}
    
    
    }
    
    
  • 相关阅读:
    中断解析
    中断分类
    中断分类
    在iOS开发中使用FMDB
    大数据权限授权管理框架:Apache Sentry和Ranger
    Flink FileSystem的connector分析
    Flink FileSystem的connector分析
    Flink JobManager的HA原理分析
    Flink JobManager的HA原理分析
    Flink的State概述
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078375.html
Copyright © 2011-2022 走看看