上學路線

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

import java.util.Scanner;
public class Main{
    private static int[][] map;
    private static int[][] dir=new int[][]{{1,0},{0,1}};
    private static int[][] mark;
    private static int a;
    private static int b;
    private static int n;
 private static int cnt;
    public static void main(String[] agrs){
        Scanner sc=new Scanner(System.in);
        a=sc.nextInt();
        b=sc.nextInt();
        n=sc.nextInt();
        map=new int[17][17];
        mark=new int[17][17];
        for(int i=0;i<n;i++){
            int x=sc.nextInt();
            int y=sc.nextInt();
            map[x][y]=1;
        } 
        dfs(1,1);
        System.out.println(cnt);
    }
    public static void dfs(int x,int y){
        mark[x][y]=1;
        if(x==a&&y==b)
            cnt++;
        else{
            for(int i=0;i<2;i++){
                int tox=x+dir[i][0];
                int toy=y+dir[i][1];
                if(tox>a||toy>b||map[tox][toy]==1)
                    continue;
                else
                    dfs(tox,toy);
                mark[tox][toy]=0;
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章