【noi 2.5_8465】马走日(dfs)】的更多相关文章

http://noi.openjudge.cn/ch0205/8465/ 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  1024kB 描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入 第一行为整数T(T < 10),表示测试数据组数.每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n…
8465:马走日 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  1024kB 描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入 第一行为整数T(T < 10),表示测试数据组数.每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n-1,0<=y<=m-1, m < 1…
马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. Input 第一行为整数T(T < 10),表示测试数据组数. 每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10) Output 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径…
Problem L: 搜索基础之马走日 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 134  Solved: 91[Submit][Status][Web Board] Description 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. Input 第一行为整数T(T < 10),表示测试数据组数.每一组测试数据包含一…
[题目描述] 马在中国象棋以日字形规则移动. 请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. [输入] 第一行为整数T(T < 10),表示测试数据组数. 每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0≤x≤n-1,0≤y≤m-1, m < 10, n < 10). [输出] 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次…
 马走日 序号:#56难度:困难时间限制:1500ms内存限制:10M 描述 在中国象棋中,马只能走日字型.现在给出一个由 N*M 个格子组成的中国象棋棋盘( 有(N+1)*(M+1)个交叉点可以落子 ),以及棋盘上的两个坐标点 S,T.请计算出从 S 到 T 使用日字型走法所需的最少步数,如果不能到达,则输出-1. 下图为一个 1x2 的棋盘,起始落子点(蓝色)为 (0, 0),目标落子点(绿色)为 (1,2) 的示意,此时需要的步数为 1: 输入 每行输入6个数,由;分隔,第一个数N,第二个…
在n*m的棋盘中,马只能走“日” 字.马从位置(x,y)处出发,把棋盘的每一格都走一次,且只走一次.找出所有路径. ××××××××××××× 类似问题: 在半个中国象棋棋盘上,马在左下角(1,1)处,马走日字…而且只能往右走…不能向左…可上可下…求从起点到(m, n)处有几种不同的走法. 八皇后. ××××××××××××× 预备知识--->图的深度优先: https://www.cnblogs.com/OctoptusLian/p/8260173.html 参考代码1: https://bl…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3766 给你一个x ,y 求出从(0,0)位置到达需要的最小步数每次只能走日型: 下图为暴力bfs得到的答案:可以看一下: /** 首先,xy的大小排序和转化为都是正数步数不变应该懂吧. y=2*x这种情况直接就是(x+y)/3步. 如果y<2*x但是(x+y)%3==0的话,那么我们可以通过控制(1,2),(2,1) 两种跳法的次数达到...总数必然是(x+y)/3,然后xy的和对3取余是1的话,…
最基本的dfs.这代码理应超时的,我也不知为何AC了......打表我都放弃了,因为最大的数据真的要跑很久...... 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 int n,m,len; 9 bool vis[15][15]; 10…
描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入 第一行为整数T(T < 10),表示测试数据组数.每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10) 输出 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为…
题目描述 描述 马在中国象棋以日字形规则移动.请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入 第一行为整数T(T < 10),表示测试数据组数.每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10) 输出 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总…
描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入 第一行为整数T(T < 10),表示测试数据组数. 每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10) 输出 每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0…
简单的对于bfs的运用,但是还是写的太慢了写了TMD的1H,主要是不熟悉,以后慢慢熟悉就好了,模型基本已经能建立了,主要出现bug是在方向数组的运用上面,一定要记得是从0开始的,而不是从1开始的,导致错误. #include<cstdio> #include<cstdlib> #include<iostream> using namespace std; /*bfs*/ //方向数组 ][]={ {-,-}, {-,-}, {,}, {,}, {,-}, {,-}, {…
Problem Description 在一个4*5的棋盘上,马的初始位置坐标(纵 横)位置由键盘输入,求马能返回初始位置的所有不同走法的总数(马走过的位置不能重复,马走“日”字).如果马的初始位置坐标超过棋盘的边界,则输出ERROR.例如初始位置为4 6,则输出ERROR. Input 输入数据只有一行,有两个用空格分开的整数,表示马所在的初始位置坐标.首行首列位置编号为(1 1). Output 输出一行,只有一个整数,表示马能返回初始位置的所有不同走法的总数. 如果输入的马的初始位置超出棋…
A Simple Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2597    Accepted Submission(s): 691 Problem Description There is a n×m board, a chess want to go to the position (n,m) from the pos…
F: Horse Pro 豆豆也已经开始学着玩象棋了,现在豆豆已经搞清楚马的走法了,但是豆豆不能确定能否在 100 步以内从一个点到达另一个点(假设棋盘无限大). Input 第一行输入两个整数 x1,y1 表示当前马所在的位置. 第二行输入两个整数 x2,y2 表示豆豆想把马走在的位置. −10000≤x1,x2,y1,y2≤10000   Output 如果能够在100步以内(包括100步)从(x1,y1) 到达 (x2,y2) 则输出到达所需要的最小步数,否则输出 −1   Sample…
[问题描述]关于马踏棋盘的基本过程:国际象棋的棋盘为 8*8 的方格棋盘.现将"马"放在任意指定的方格中,按照"马"走棋的规则将"马"进行移动.要求每个方格只能进入一次,最终使得"马"走遍棋盘的64个方格. 输入一个n,表示大小为n x n的棋盘 输出马走遍棋盘所有格子的顺序和不同的走法数量 #include<iostream> #include<stdio.h> #include<string.…
抱歉因为NOIP集训,好长时间没再写题解了. NOI 2015也就只有这道题一看就能懂了-- 4198: [Noi2015]荷马史诗 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 922  Solved: 473[Submit][Status][Discuss] Description 追逐影子的人,自己就是影子. --荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是…
题目描写叙述 http://acm.nyist.net/JudgeOnline/problem.php?pid=306 Dr.Kong设计的机器人卡多非常爱玩.它经常偷偷跑出实验室,在某个游乐场玩之不疲. 这天卡多又跑出来了.在SJTL游乐场玩个不停,坐完碰碰车.又玩滑滑梯.这时卡多又走入一个迷宫.整个迷宫是用一个N * N的方阵给出,方阵中单元格中填充了一个整数,表示走到这个位置的难度. 这个迷宫能够向上走,向下走,向右走,向左走,可是不能穿越对角线. 走迷宫的取胜规则非常有意思,看谁能更快地…
链接:https://ac.nowcoder.com/acm/contest/330/B来源:牛客网 题目描述 精通程序设计的 Applese 又写了一个游戏. 在这个游戏中,它位于一个 n 行 m 列的方阵中的左上角(坐标为(0, 0),行的序号为0∼n−10∼n−1,列的序号为0∼m−10∼m−1). 现在它想不重复地走过所有格子(除了起点),最后回到左上角的一个方案. 每次只能往上下左右其中一个方向走一格. 输入描述: 仅一行两个整数 n 和 m,表示方阵的大小.保证大于1×11×1. 输…
题目描述 有一个m*n格的迷宫(表示有m行.n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点.结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号).现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向.如果一条路都不可行,则输出相应信息(用-l表示无路). 优先顺序:左上右下 输入输出格式 输入格式: 第一行是两个数m,n(1<m,n<15),接下来是m行n列由1和0组成的数据,最后两行…
题目: 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走. 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到).只能在水平方向或垂直方向走,不能斜着走. 输入 第一行是两个整数,R和C,代表迷宫的长和宽.( 1<= R,C <= 40) 接下来是R行,每行C个字符,代表整个迷宫. 空地格子用'.'表示,有障碍物的格子用'#'表示. 迷宫左上角和右下角都是'.'. 输出 输出从左上角走到右下角至少要经过多少步(即至少要经过多少个空地格子)…
#include<stdio.h> #include<stdlib.h> int data[100][100] = {0}; int Dx[8] = {-1,1,-2,2,-2,2,-1,1}; int Dy[8] = {-2,-2,-1,-1,1,1,2,2}; int row,col; int cun[100][2] = {0}; bool ret = false; void DFS(int x,int y,int step); int main() { int n; //fr…
题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2449&cid=1181 目前dfs 里的递归还是不很懂,AC代码如下: #include<stdio.h> #include<string.h> ][],vis[][]; int ans; int m,n; void dfs(int i,int j) { if(vis[i][j]||map[i][j]) return; if(i==n&&j==m)…
Description 追逐影子的人,自己就是影子. ——荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛>和<伊利亚特>组成的鸿篇巨制<荷马史诗>实在是太长了,Allison 想通过一种编码方式使得它变得短一些. 一部<荷马史诗>中有 n 种不同的单词,从 1 到 n 进行编号.其中第 i 种单词出现的总次数为 wi.Allison 想要用 k 进制串 si…
追逐影子的人,自己就是影子 ——荷马 Allison最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是由<奥德赛>和<伊利亚特>组成的鸿篇巨制<荷马史诗>实在是太长了,Allison想通过一种编码方式使得它变得短一些. 一部<荷马史诗>中有 n 种不同的单词,从 1 到 n 进行编号.其中第 i 种单词出现的总次数为 w[i] .Allison想要用 k 进制串 s[i] 来替换第 i 种单词…
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1269 连着做了三个基本的dfs,终于弄懂了搜索和回溯的过程. 此题要求输出所有路径,首先给每一个点编号0~n+m;则存储时只需存储编号,由编号得到坐标的方式: x = num/m, y = num%m; 由坐标得到编号的方式:num = x*m+y; 注意:本题坐标从(1,1)开始,编号后的坐标从(0,0)开始. #include <stdio.h…
啥都想不出来的我是不是废了/dk 这道题考的主要是构造 而我想的主要是乱搞. 一个很假很假的做法:直接暴力4种颜色染色 我也不知道对不对.. 不过成功的话一定是对的. 然后考虑奇环的问题 一个很假很假的做法 建立出dfs树然后 然后利用返祖边+倍增做奇环的问题 主要考察环上所有的点的入度都>2. 显然 很多环都没有被便利到 所以这个做法是很假的. 好像多random几次能A?当然不行!接下来是否联通也存在问题 这个做法假死了 当然如果不嫌麻烦可以check且再次随机 暴力出奇迹嘛~! 然而水到了…
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground sinking. He realized that the bone was a trap, and he tried despe…
Knight Moves Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8831    Accepted Submission(s): 5202 Problem Description A friend of you is doing research on the Traveling Knight Problem (TKP) wher…