zoukankan      html  css  js  c++  java
  • 牛客网在线编程:网格走法数目

    题目:

    有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
    输入描述:
    输入包括一行,逗号隔开的两个正整数x和y,取值范围[1,10]。
    输出描述:
    输出包括一行,为走法的数目。
    示例1
    输入

    3 2
    输出

    10

    思路:

    递归。只能走网格上的点。建立一个二维坐标轴,每个格子在遍历之前,必须经过它的左边或者上边的点。
    即可找出递归公式f(x,y)=f(x-1,y)+f(x,y-1)
    f(0,0)=1,f(0,1)=1,f(1,0)=1,f(1,1)=2,f(1,2)=3

     1 import java.util.*;
     2 public class Wanggezoufa {
     3     public static int step(int x,int y){
     4         if(x==0&&y==0) return 1;
     5         if(x==0||y==0) return 1;
     6         else return step(x-1,y)+step(x,y-1);
     7     }
     8     public static void main(String[] args) {
     9         // TODO Auto-generated method stub
    10         Scanner sc = new Scanner(System.in);
    11         int x = sc.nextInt();
    12         int y = sc.nextInt();
    13         System.out.println(Wanggezoufa.step(x,y));
    14     }
    15 
    16 }
  • 相关阅读:
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    软件工程作业(一)
    期末总结
    第04组 Beta冲刺(2/5)
    第04组 Beta冲刺(3/5)
    第04组 Beta冲刺(4/5)
    第04组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/zlz099/p/8514940.html
Copyright © 2011-2022 走看看