题解 | #走方格的方案数#
走方格的方案数
http://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b
import java.util.*;
public class Main{
static int cal = 0;
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int m = in.nextInt();
int[][] board = new int[m+1][n+1];
cal = 0;
dfs(board, 0, 0, m, n);
System.out.println(cal);
}
}
public static void dfs(int[][] board, int row, int col, int m, int n){
if(row == m && col == n){
cal++;
return;
}
// board[row][col] = 1;
if(row < m){
dfs(board, row+1, col, m, n);
}
if(col < n){
dfs(board, row, col+1, m, n);
}
// board[row][col] = 0;
}
}
public class Main{
static int cal = 0;
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int m = in.nextInt();
int[][] board = new int[m+1][n+1];
cal = 0;
dfs(board, 0, 0, m, n);
System.out.println(cal);
}
}
public static void dfs(int[][] board, int row, int col, int m, int n){
if(row == m && col == n){
cal++;
return;
}
// board[row][col] = 1;
if(row < m){
dfs(board, row+1, col, m, n);
}
if(col < n){
dfs(board, row, col+1, m, n);
}
// board[row][col] = 0;
}
}
查看12道真题和解析