zoukankan      html  css  js  c++  java
  • luogo_1238 走迷宫

    #include<bits/stdc++.h>
    using namespace std;
    struct point{int x,y;}ans[100000];
    int a[20][20],n,m,sx,sy,tx,ty,cnt=1;
    int dx[]={0,-1,0,1};
    int dy[]={-1,0,1,0};
    bool vis[20][20],answer;
    void dfs(int x,int y){
        if(x==tx && y==ty){
            for(int i=1;i<cnt;i++)printf("(%d,%d)->",ans[i].x,ans[i].y);
            printf("(%d,%d) ",ans[cnt].x,ans[cnt].y);
            answer=true;
        }
        for(int i=0;i<=3;i++)
            if(a[x+dx[i]][y+dy[i]] && !vis[x+dx[i]][y+dy[i]]){
                vis[x+dx[i]][y+dy[i]]=true;
                ans[++cnt].x=x+dx[i]; ans[cnt].y=y+dy[i];
                dfs(x+dx[i],y+dy[i]);
                cnt--;
                vis[x+dx[i]][y+dy[i]]=false;
            }
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)scanf("%d",&a[i][j]);
        scanf("%d%d%d%d",&sx,&sy,&tx,&ty);
        vis[sx][sy]=true;
        ans[1].x=sx; ans[1].y=sy;
        dfs(sx,sy);
        if(!answer)printf("-1 ");
        return 0;
    }
  • 相关阅读:
    双指针
    二分查找
    二叉树
    递归思想
    排序算法
    Java常用集合使用方法总结
    攻防世界-PHP文件包含
    正则表达式随笔
    ts 函数
    ts 联合类型
  • 原文地址:https://www.cnblogs.com/codetogether/p/7494115.html
Copyright © 2011-2022 走看看