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);
    
    	}
    
    
    }
    
    
  • 相关阅读:
    HTML5结构
    HTML5新增的非主体元素header元素、footer元素、hgroup元素、adress元素
    CF GYM 100703G Game of numbers
    CF GYM 100703I Endeavor for perfection
    CF GYM 100703K Word order
    CF GYM 100703L Many questions
    CF GYM 100703M It's complicate
    HDU 5313 Bipartite Graph
    CF 560e Gerald and Giant Chess
    POJ 2479 Maximum sum
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948377.html
Copyright © 2011-2022 走看看