zoukankan      html  css  js  c++  java
  • 算法训练题

    从原点出发,一步只能向右走、向上走或向左走。恰好走N步且不经过已走的点共有多少种走法?
    样例输入:N=2
    样例输出:result=7
    样例输入:N=3
    样例输出:result=17 
     
    代码:

    import java.util.Scanner;

    public class Foot {
      static int t = 0;
      public static void main(String[] args) {
        int n=new Scanner(System.in).nextInt();

        int[][] a = new int[n+1][2*n+1];
        int x = n;
        int y = n;
        a[x][y] = 1;

        xunhuan(a,n,x,y);
        System.out.println(t);
      }

      private static void xunhuan(int[][] a, int n, int x, int y) {

        if(n!=0){
          if(a[x-1][y] != 1){
            a[x-1][y] = 1;
            xunhuan(a,n-1,x-1,y);
            a[x-1][y] = 0;
          }


          if (a[x][y+1] != 1) {
            a[x][y+1] = 1;
            xunhuan(a,n-1,x,y+1);
            a[x][y+1] = 0;
          }


          if (a[x][y-1] != 1) {
            a[x][y-1] = 1;
            xunhuan(a,n-1,x,y-1);
            a[x][y-1] = 0;
          }

        }else{
          t++;
          for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
              System.out.print(a[i][j]);
            }
            System.out.println();
          }
          System.out.println();
        }
      }
    }

  • 相关阅读:
    Debian 添加用户
    如何让安卓手机访问内网服务器?
    数据库权限
    CentOs
    批量导入sql文件。
    使用Navicat Premium连接mysql数据库
    git 合包
    linux 下文件打包
    git 分支管理
    gcc8.2安装
  • 原文地址:https://www.cnblogs.com/-rainbow-/p/7410801.html
Copyright © 2011-2022 走看看