• 洛谷 P1644 跳马问题


    题目背景

    在爱与愁的故事第一弹第三章出来前先练练四道基本的回溯/搜索题吧……

    题目描述

    中国象棋半张棋盘如图1所示。马自左下角(0,0)向右上角(m,n)跳。规定只能往右跳,不准往左跳。比如图1中所示为一种跳行路线,并将路径总数打印出来。

    输入输出格式

    输入格式:

     

    只有一行:两个数n,m

     

    输出格式:

     

    只有一个数:总方案数total。

     

    输入输出样例

    输入样例#1: 复制
    4 8
    输出样例#1: 复制
    37

    说明

    所有数据:n,m<=18

    思路:搜索

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,ans;
    int dx[4]={-2,-1,2,1};
    int dy[4]={1,2,1,2};
    void dfs(int x,int y){
        if(x==n&&y==m){
            ans++;
            return ;
        }
        for(int i=0;i<4;i++){
            int cx=x+dx[i];
            int cy=y+dy[i];
            if(cx>=0&&cx<=n&&cy>=0&&cy<=m)
                dfs(cx,cy);
        }
    }
    int main(){
        scanf("%d%d",&n,&m);
        dfs(0,0);
        cout<<ans;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    Css进阶
    Css布局
    遇到的小问题
    MySQL 8.017连接Navicat中出现的问题
    ConcurrentHashMap图文源码解析
    HashMap图文源码解析
    接口和抽象类
    dependencies 和 devDependencies
    2020.7.7第二天
    2020.7.6第一天
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7875303.html
Copyright © 2020-2023  润新知