首页 > 其他分享 >1219:马走日

1219:马走日

时间:2024-02-06 21:11:06浏览次数:20  
标签:int 1219 dfs vis 马走 ans x2 y2

马在中国象棋以日字形规则移动。

请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。


  • 马能走的方向不是4个(上下左右),而是8个。
  • 有多组数据!!!
  • x,y下标均从0开始

#include<bits/stdc++.h>
using namespace std;

bool vis[15][15];
int ans=0;
int h,l;

int dx[]= {-1,-2,-2,-1,1,2,2,1};
int dy[]= {-2,-1,1,2,2,1,-1,-2};

void dfs(int x,int y,int dep) {
    if(dep==h*l) {
        ans++;
        return;
    }
    for(int i=0; i<8; i++) {
        int x2=x+dx[i];
        int y2=y+dy[i];
        if(x2<0 || x2>h-1 || y2<0 || y2>l-1) continue;
        if(vis[x2][y2]) continue;
        vis[x2][y2]=1;
        dfs(x2,y2,dep+1);
        vis[x2][y2]=0;
    }
}

int main () {
    int T;
    cin>>T;
    while(T--) {
        int x,y;
        cin>>h>>l>>x>>y;

        memset(vis,0,sizeof vis);
        ans=0;

        vis[x][y]=1;
        dfs(x,y,1);
        cout<<ans<<endl;
    }
    return 0;
}

 

标签:int,1219,dfs,vis,马走,ans,x2,y2
From: https://www.cnblogs.com/algorithm-hu/p/18010297

相关文章

  • 20231219
    j使用final框架时localhost打不开的界面 由于网络协议的问题原文参考win10localhost解析为::1的解决办法-CSDN博客......
  • 1116.马走日
    注意是否需要回溯#include<iostream>#include<algorithm>usingnamespacestd;constintN=15;intsx,sy,n,m,t,ans;boolvis[N][N];intdx[]={-2,-1,1,2,2,1,-1,-2},dy[]={1,2,2,1,-1,-2,-2,-1};voiddfs(intsx,intsy,intcnt){......
  • 【dfs基础题】洛谷P1219题解
    题目大意给定棋盘的规格为\(n×n\),现在要摆\(n\)个皇后,使得每个皇后不能互相攻击。题目解答由题意可知,如果两个皇后在同一行或同一列或同一对角线,那么就会互相攻击。那么就简单了,若当前要摆的是第\(i\)个皇后,那么只需要for循环一遍前面的\(i-1\)个皇后,判断前面的皇后......
  • hdu 1372 Knight Moves 骑士的移动 bfs--马走日
    #include<stdio.h>#include<string.h>#include<queue>usingnamespacestd;charss[3],ee[3];intx1,y1,x2,y2;structpos{intx,y,step;}sta,end;intf[10][10];intdir[8][2]={1,2,1,-2,-1,2,-1,-2,2,1,2,-1,-2,1,-2,-1};boolfan......
  • P1219 八皇后 Checker Challenge(深度搜索dfs经典问题+回溯)
    题目连接:P1219[USACO1.5]八皇后CheckerChallenge-洛谷|计算机科学教育新生态(luogu.com.cn) 典型的深度优先搜索的问题----》先付代码再来跟新java组代码packagePTACZW;importjava.util.Scanner;importjava.io.*;importjava.util.Set;importjava.util.Has......
  • 2023/7/22(2)宽搜练习马走日
     #include<bits/stdc++.h>usingnamespacestd;intqwq[12][2]={{1,2},{1,-2},{-1,2},{-1,-2},{-2,-1},{-2,1},{2,1},{2,-1},{2,2},{-2,-2},{2,-2},{-2,2}};intax,ay,bx,by;boolmp[105][105];structnode{intx,y,step;node(){}node(constint......
  • 马走日
    #include<bits/stdc++.h>usingnamespacestd;intt,n,m,x,y;boolb[10][10]={0};ints=0,k=0;intdx[8]={-2,-2,-1,1,2,2,1,-1},dy[8]={1,-1,-2,-2,-1,1,2,2};voiddfs(intx,inty,ints){if(s==n*m){k++;return;}for(i......
  • 洛谷P1219 [USACO1.5] 八皇后 Checker Challenge
    写在前面我又回来了!偷了几天懒,还认识我吗?甭管认识不认识,还是要自我介绍一番:本人是初学c++的初中生,还是个蒟蒻,最要命的是没有脑子。今天,还请允许我浪费您一点时间,叨叨上几句。本题目来自于洛谷,网址https://www.luogu.com.cn/problem/P1219,建议在洛谷上看一下。本题解非盈利,无恶......
  • HDU 1219 AC Me
    ACMeTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):13482    AcceptedSubmission(s):5934Pro......
  • HDOJ1219 AC Me
    ACMeTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):19712    AcceptedSubmission(s):8288Pr......