伪题解 洛谷 P1363 幻想迷宫(DFS)
毒瘤题,做了一晚上抄题解A了
因为是抄题解,我也不好意思说什么了,就发篇博客纪念一下吧
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,m,nn,mm;
bool map1[1501*2][1501*2],map2[1501][1501],hhh[1501][1501];
bool dfs(int x,int y)
{
if(x == -1)
{
if(dfs(nn - 1, y))return true;
return false;
}
if(x == nn)
{
if(dfs(0, y))return true;
return false;
}
if(y == -1)
{
if(dfs(x, mm - 1))return true;
return false;
}
if(y == mm)
{
if(dfs(x, 0))return true;
return false;
}
if(map1[x][y] || hhh[x % n][y % m])
{
return false;
}
if(map2[x % n][y % m])
{
return true;
}
map1[x][y] = true;
map2[x % n][y % m] = true;
if(dfs(x + 1, y))return true;
if(dfs(x - 1, y))return true;
if(dfs(x, y + 1))return true;
if(dfs(x, y - 1))return true;
return false;
}
int main()
{
while(scanf("%d%d ",&n,&m)!=EOF)
{
int sx,sy;
nn=n*2;mm=m*2;
memset(hhh,0,sizeof(hhh));
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
char a; cin>>a;
if(a=='#') hhh[i][j]=1;
if(a=='S') sx=i,sy=j;
}
memset(map2,0,sizeof(map2));
memset(map1,0,sizeof(map1));
if(dfs(sx,sy))
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
伪题解 洛谷 P1363 幻想迷宫(DFS)的更多相关文章
- 洛谷 P1363 幻想迷宫 解题报告
P1363 幻想迷宫 题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊-- LHX:mo ...
- 洛谷P1363 幻想迷宫【dfs】
题目:https://www.luogu.org/problemnew/show/P1363 题意: 有一个地图,起点是S,障碍物用#表示.可以将这个地图不断的在四周重复,问从起点开始是否可以走到无限 ...
- 洛谷P1363 幻想迷宫
题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:momo...我们一定能走 ...
- 洛谷 P1363 幻想迷宫
题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:momo...我们一定能走 ...
- 络谷 P1363 幻想迷宫
P1363 幻想迷宫 题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:mo ...
- 洛谷1363 幻象迷宫dfs
题目网址:https://www.luogu.com.cn/problem/P1363 迷宫是无限多块地图拼接而成的,问是否可以在迷宫中走无限远.解决方案是dfs,走出初始地图之后的位置映射到原位置( ...
- 洛谷 - P1141 - 01迷宫 - dfs
https://www.luogu.org/problemnew/show/P1141 能互相到达的格子的答案自然是一样的,第一次dfs标记联通块,第二次dfs把cnt传递到整个联通卡并顺手消除vis ...
- 【洛谷】【搜索(dfs)】P1363 幻想迷宫
[题目描述:] 幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成.矩阵中有的地方是道路,用'.'表示:有的地方是墙,用'#'表示.LHX和WD所在的位置用'S'表示.也就是对于迷宫中的一 ...
- 【洛谷P1363】幻象迷宫
P1363 幻想迷宫 显然,若从原图中起点走到相邻的图中对应的"起点"位置 ,就可以无限走下去, 若一个点从原图中可以到达,到了非原图中也可以到达,就可以无限走下去 我们不妨记录下 ...
随机推荐
- 632. Smallest Range(priority_queue)
You have k lists of sorted integers in ascending order. Find the smallest range that includes at lea ...
- Rigging a Versatile Weapon Bone for 3ds Max
说明:先添加weapon到点的约束,位置,方向约束都调整好了后再建立点到手,hip的父子关系,注意这个顺序 加点的方法 点设置成box的方法: http://hewiki.heroengine.com ...
- jzoj5986. 【WC2019模拟2019.1.4】立体几何题 (权值线段树)
传送门 题面 题解 不难看出每个点的大小为行列限制中较小的那一个(因为数据保证有解) 对于行的每个限制,能取到的个数是列里限制大于等于它的数的个数,同理,对于列是行里大于它的个数(这里没有等于,为了避 ...
- day02 多态
- E. Cyclic Components (DFS)(Codeforces Round #479 (Div. 3))
#include <bits/stdc++.h> using namespace std; *1e5+; vector<int>p[maxn]; vector<int&g ...
- Jquery | 基础 | 事件的链式写法
$(".title").click(function () { $(this).addClass("curcol").next(".content&q ...
- [模板]manacher
這麼簡單的算法現在才學...... https://segmentfault.com/a/1190000008484167?utm_source=tag-newest#articleHeader3 h ...
- DRF教程3-类视图
Rewriting our API using class-based views 使用类视图重写root views,只需要一点点重构. from django.http import Http40 ...
- Codeforces Round #390 (Div. 2) A
One spring day on his way to university Lesha found an array A. Lesha likes to split arrays into sev ...
- CentOS 部署RabbitMQ集群
1. 准备两台CentOS,信息如下: node1:10.0.0.123 node2:10.0.0.124 修改hostname请参照: $ hostname # 查看当前的hostname $ ho ...