关闭

POJ2488【DFS】

标签: dfspoj
189人阅读 评论(0) 收藏 举报
分类:

阿西吧,搞清楚谁是行,谁是列啊!!!

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <iostream>
using namespace std;
#define LL __int64
#define N 50


int d[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};

bool vis[30][30];
int xx[30];
int yy[30];
int flag;
int a,b;

void DFS(int x,int y,int num)
{
    if(flag)
    return;
    if(num==a*b)
    {
        flag=1;
        for(int i=1;i<=num;i++)
        {
            printf("%c%d",xx[i]+64,yy[i]);  
        }
        puts("");
        //printf("%d\n",num);
        return;
    }
    for(int i=0;i<8;i++)
    {
        int aa=x+d[i][0];
        int bb=y+d[i][1];
        if(aa<1||bb<1||aa>b||bb>a||vis[bb][aa])
            continue;
        vis[bb][aa]=1;
        xx[num+1]=aa;
        yy[num+1]=bb;
        DFS(aa,bb,num+1);
        vis[bb][aa]=0;
    }
}

int main()
{
    int T;
    scanf("%d",&T);
    int Case=1;
    for(Case=1;Case<=T;Case++)
    {
        scanf("%d%d",&a,&b);
        printf("Scenario #%d:\n",Case);
        flag=0;
        memset(vis,0,sizeof(vis));
        xx[1]=1;
        yy[1]=1;
        vis[1][1]=1;
        DFS(1,1,1);
        if(!flag)
        {
            printf("impossible\n");
        }
        puts("");
    }
    return 0;
}

/*
A1B3C1A2C1A2C1A2C1A2C1A2
A1C2A3B1D2B3C1A2C3D1B2D3
A1B3C1A2B4C2A3B1C3A4B2C4
*/
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

DFS和BFS的一点简单总结

搜索,简单狭窄地讲,就分为DFS与BFS,但是也有一些拓展的比如迭代深搜和IDA*搜索等等,搜索可以说是最基础却又是应用最广泛的算法。本文简单地总结下基础搜索在给定的显式图中的应用。
  • consciousman
  • consciousman
  • 2016-08-21 23:15
  • 3071

【经典算法】:BFS与DFS

写在最前的三点: 1、所谓图的遍历就是按照某种次序访问图的每一顶点一次仅且一次。 2、实现bfs和dfs都需要解决的一个问题就是如何存储图。一般有两种方法:邻接矩阵和邻接表。这里为简单起 见,均...
  • qq_23100787
  • qq_23100787
  • 2016-06-07 16:20
  • 1147

DFS深度优先算法java算法

 我学习算法,按照老师给的算法弄的…… 完成时间2014年11月24日
  • YuYunTan
  • YuYunTan
  • 2014-11-24 21:29
  • 1993

poj2488——dfs深度优先遍历

  • 2013-07-24 10:21
  • 2KB
  • 下载

POJ2488(骑士遍历)【dfs个人第一题!】

dfs个人第一题,费尽千辛万苦,终于AC,一AC解万愁。果然自己亲自敲代码的过程学到不少。必作一总结。     先附代码,修改比较多,so,比较丑。
  • water__er
  • water__er
  • 2013-07-27 22:27
  • 843

POJ2488——简单DFS

Question: 题目中给出了国际象棋的地图,要求我们将马按照他的走子方式进行移动,能够将整个棋盘走遍则我们将走姿方式按照字典序进行输出,否则输出impossible Solution: ...
  • ltyqljhwcm
  • ltyqljhwcm
  • 2016-09-11 14:51
  • 235

POJ2488 A Knight's Journey(DFS)

题意: 输入一些棋盘对应的行和列,看骑士(日字)能不能走完整个棋盘,可以从任何地方开始,注意要字典序输出 要点: 虽然说骑士可以从棋盘上任意一点出发,但因为要按字典序(lexicographic...
  • SeasonJoe
  • SeasonJoe
  • 2016-02-23 14:58
  • 239

POJ 2488 DFS+记录路径 TOJ 3520 BFS+记录路径

DFS记录路径较简单,每次遍历到时都会被更改 DFS用于寻找可行解   #include #include int map[50][50]; int dir[8][2]={{-2,-1},{-2,...
  • lentty1452
  • lentty1452
  • 2012-07-18 22:07
  • 340

A Knight's Journey (poj 2488 DFS)

给你一个p*q的国际象棋棋盘,问马从任意一点出发能否每个点只经过一次把所有的点都遍历完。其实只需要从最左上角开始走就行了,因为如果每个点都能走到起点在哪就无所谓了。另外要按字典序输出,则dir数组是一...
  • u014422052
  • u014422052
  • 2014-09-18 19:40
  • 705

poj 2488A Knight's Journey(DFS+回溯)

A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4646...
  • The_star_is_at
  • The_star_is_at
  • 2017-08-05 16:34
  • 145
    个人资料
    • 访问:207299次
    • 积分:9734
    • 等级:
    • 排名:第2111名
    • 原创:795篇
    • 转载:22篇
    • 译文:0篇
    • 评论:35条
    交♂友


    联系QQ:1252500865


    文章分类
    最新评论