毒瘤题,做了一晚上抄题解A了

因为是抄题解,我也不好意思说什么了,就发篇博客纪念一下吧

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. using namespace std;
  5. int n,m,nn,mm;
  6. bool map1[1501*2][1501*2],map2[1501][1501],hhh[1501][1501];
  7. bool dfs(int x,int y)
  8. {
  9. if(x == -1)
  10. {
  11. if(dfs(nn - 1, y))return true;
  12. return false;
  13. }
  14. if(x == nn)
  15. {
  16. if(dfs(0, y))return true;
  17. return false;
  18. }
  19. if(y == -1)
  20. {
  21. if(dfs(x, mm - 1))return true;
  22. return false;
  23. }
  24. if(y == mm)
  25. {
  26. if(dfs(x, 0))return true;
  27. return false;
  28. }
  29. if(map1[x][y] || hhh[x % n][y % m])
  30. {
  31. return false;
  32. }
  33. if(map2[x % n][y % m])
  34. {
  35. return true;
  36. }
  37. map1[x][y] = true;
  38. map2[x % n][y % m] = true;
  39. if(dfs(x + 1, y))return true;
  40. if(dfs(x - 1, y))return true;
  41. if(dfs(x, y + 1))return true;
  42. if(dfs(x, y - 1))return true;
  43. return false;
  44. }
  45. int main()
  46. {
  47. while(scanf("%d%d ",&n,&m)!=EOF)
  48. {
  49. int sx,sy;
  50. nn=n*2;mm=m*2;
  51. memset(hhh,0,sizeof(hhh));
  52. for(int i=0;i<n;i++)
  53. for(int j=0;j<m;j++)
  54. {
  55. char a; cin>>a;
  56. if(a=='#') hhh[i][j]=1;
  57. if(a=='S') sx=i,sy=j;
  58. }
  59. memset(map2,0,sizeof(map2));
  60. memset(map1,0,sizeof(map1));
  61. if(dfs(sx,sy))
  62. cout<<"Yes"<<endl;
  63. else cout<<"No"<<endl;
  64. }
  65. return 0;
  66. }

伪题解 洛谷 P1363 幻想迷宫(DFS)的更多相关文章

  1. 洛谷 P1363 幻想迷宫 解题报告

    P1363 幻想迷宫 题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊-- LHX:mo ...

  2. 洛谷P1363 幻想迷宫【dfs】

    题目:https://www.luogu.org/problemnew/show/P1363 题意: 有一个地图,起点是S,障碍物用#表示.可以将这个地图不断的在四周重复,问从起点开始是否可以走到无限 ...

  3. 洛谷P1363 幻想迷宫

    题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:momo...我们一定能走 ...

  4. 洛谷 P1363 幻想迷宫

    题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:momo...我们一定能走 ...

  5. 络谷 P1363 幻想迷宫

    P1363 幻想迷宫 题目描述 背景 Background (喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫.) WD:呜呜,肿么办啊…… LHX:mo ...

  6. 洛谷1363 幻象迷宫dfs

    题目网址:https://www.luogu.com.cn/problem/P1363 迷宫是无限多块地图拼接而成的,问是否可以在迷宫中走无限远.解决方案是dfs,走出初始地图之后的位置映射到原位置( ...

  7. 洛谷 - P1141 - 01迷宫 - dfs

    https://www.luogu.org/problemnew/show/P1141 能互相到达的格子的答案自然是一样的,第一次dfs标记联通块,第二次dfs把cnt传递到整个联通卡并顺手消除vis ...

  8. 【洛谷】【搜索(dfs)】P1363 幻想迷宫

    [题目描述:] 幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成.矩阵中有的地方是道路,用'.'表示:有的地方是墙,用'#'表示.LHX和WD所在的位置用'S'表示.也就是对于迷宫中的一 ...

  9. 【洛谷P1363】幻象迷宫

    P1363 幻想迷宫 显然,若从原图中起点走到相邻的图中对应的"起点"位置 ,就可以无限走下去, 若一个点从原图中可以到达,到了非原图中也可以到达,就可以无限走下去 我们不妨记录下 ...

随机推荐

  1. HDU3279【水】

    思路: 求数组里的第三大: #include <bits/stdc++.h> using namespace std; typedef long long LL; int a[15]; i ...

  2. 多次页面跳转后pop回主界面的问题

    最近写代码的时候出了点BUG, 查阅资料后终于解决了. 问题原因大概是: 项目中所有的viewController都是继承自一个封装好的viewController. navigationbar, n ...

  3. 第二十一篇 .NET高级技术之使用多线程(三)

    1.  单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型.尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它 ...

  4. 使用JMeter上传文件

    使用JMeter录制文件上载 创建JMeter测试计划的最简单方法是使用HTTP(s)测试脚本记录器记录相应的请求.JMeter充当代理服务器,捕获Web浏览器与被测应用程序(AUT)之间的所有流量, ...

  5. bzoj3626: [LNOI2014]LCA奇技淫巧+树剖+线段树

    题目求[a,b]到c的lca深度之和   显然是一个满足区间减法的操作 于是简化为 [1,b]到c的lca深度之和 (然并卵╮(╯▽╰)╭)然后就用奇技淫巧发现 a和b的lca深度=先把根节点到a的路 ...

  6. 【aspnetcore】让aspnetcore支持less文件

    第一步:新建文件 CustomerFileExtensionContentTypeProvider namespace xxx { public class CustomerFileExtension ...

  7. [未读]angularjs权威教程

    正在啃,赶脚不错...

  8. POJ - 3020  Antenna Placement 二分图最大匹配

    http://poj.org/problem?id=3020 首先注意到,答案的最大值是'*'的个数,也就是相当于我每用一次那个技能,我只套一个'*',是等价的. 所以,每结合一对**,则可以减少一次 ...

  9. php设计模式学习之单例模式

    某些应用程序资源是独占的,因为有且只有一个此类型的资源.例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更 ...

  10. 阻塞 io 非阻塞 io 学习笔记

    阻塞 io 非阻塞 io 学习笔记