首页 > 其他分享 >洛谷P1644跳马问题

洛谷P1644跳马问题

时间:2024-10-14 21:34:19浏览次数:1  
标签:洛谷 int dy 样例 dfs P1644 跳马 题目

跳马问题

题目链接

题目背景

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

题目描述

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

输入格式

只有一行:两个数 \(n\),\(m\)。

输出格式

只有一个数:总方案数 \(total\)。

样例 #1

样例输入 #1

4 8

样例输出 #1

37

提示

对于 \(100\%\) 的数据:\(n, m\leq 18\)

代码:

#include<iostream>
using namespace std;
int n, m,ans;
int g[20][20];
int dx[4] = { 2,1,-1,-2 };
int dy[4] = { 1,2,2,1 };
void dfs(int x, int y) {
	if (x == n && y == m) { ans++; return; }
	for (int i = 0; i < 4; i++) {
		int a = x + dx[i];
		int b = y + dy[i];
		if (a<0 || a>n || b<0 || b>m) continue;
		dfs(a, b);
	}
}
int main()
{
	cin >> n >> m;
	dfs(0, 0);
	cout << ans;
	return 0;
}

标签:洛谷,int,dy,样例,dfs,P1644,跳马,题目
From: https://www.cnblogs.com/xkgc/p/18466194

相关文章

  • 洛谷P1381单词背诵
    单词背诵题目描述灵梦有\(n\)个单词想要背,但她想通过一篇文章中的一段来记住这些单词。文章由\(m\)个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一个)。并且在背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样她就可以用尽量短的......
  • 洛谷P1219八皇后问题
    [USACO1.5]八皇后CheckerChallenge题目链接题目描述一个如下的\(6\times6\)的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列\(2\4\6\1\3\5\)来描述,第\(i\)个数......
  • 洛谷P1373:小 a 和 uim 之大逃离
    洛谷P1373:小a和uim之大逃离题意略思路DP:记dp[i][j][c][0/1]表示走到\(i\)行\(j\)列时,两人容量之差为\(c\)的方案数,\(0\)表示\(\rm小a\)走的最后一步,\(1\)表示\(\rmuim\)走的最后一步。容易得出转移方程:dp[i][j][l][0]+=dp[i-1][j][l-a[i][j]+k][1];dp[......
  • 洛谷题单指南-字符串-P5283 [十二省联考 2019] 异或粽子
    原题链接:https://www.luogu.com.cn/problem/P5283题意解读:n个整数,每次从从取l~r的数进行异或得到美味值,一共取k次,并计算这k个美味值之和的最大值。解题思路:1、如何O(1)的计算l~r数的异或,得到美味值可以借助前缀和思想,a[i]为第i个数,s[i]表示a[1]~a[i]每个数的异或值,要计算l~r的......
  • 洛谷学习总集2
    洛谷代码学习总集2目录索引P1067输出多项式的字符串P1098将切片展开成完整字符串P1067输出多项式的字符串思路:多项式由:系数,"x",""指数,组成。其中各项多项式间由"+"连接,如果系数/指数为1则不需要打印系数/""指数。特殊情况:读入1、末两项(指数为1和指数为0)针对......
  • 洛谷 P2071 座位安排题解
    因为一个人坐一个座位很像二分图,题意转化为二分图最大匹配。把人放在左部,把座位放在右部,一排座位占右部的两个点。假设人想要坐在\(x\)排,那么建图的时候就可以将这个人连向\(2x\)和\(2x+1\)。这样一排就对应着两个人了。由于\(n\le4000\),直接由朴素的\(O(nm)\)的匈牙利......
  • 01背包问题/Ieee全球极限编程大赛11.0题BeetleBag题解/洛谷P1926 小书童——刷题大军
    基础01背包问题概述给出一个容积为V的背包,有i个物体,每个物体都有自己的体积和价值,用Vi和Wi表示,要将这些物体装进背包里面,问怎样才能使得装入物体的总价值最大?最大为多少?解决思路1.如果你没能正确理解这道题,尤其是对于很多新手,第一反应可能是将所有物体的单位价值算出来,然后......
  • 洛谷P8818 [CSP-S 2022] 策略游戏
    Problem给出两个数组A,B,进行q次询问,每次分别给出这两个数组的某个区间l1,r1,l2,r2,也就是\(A_{l1\simr1}\)与\(B_{l2\simr2}\),有两位同学小L和小Q分别从A,B的以上区间中选一个数,而两数乘积为此次操作的分数,小L希望分数大,小Q希望分数小,请问他们每次以最优策略进行游戏,分数将会......
  • 洛谷P1102 A-B数对
    A-B数对题目背景出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的A+BProblem,改用A-B了哈哈!题目描述给出一串正整数数列以及一个正整数\(C\),要求计算出所有满足\(A-B=C\)的数对的个数(不同位置的数字一样的数对算不同的数对)。输入格......
  • 洛谷P6492
    题意:对一个点进行修改,然后进行查询符合条件的子串。思路:单点修改+查询,很容易想到线段树,用线段树来存,考虑每一次修改后进行合并,然后看能不能合并于是用3个数组来表示,分别表示该节点编号下的区间内最长的01串的前后缀的长度。点击查看代码#include<iostream>#include<stack>#i......