题目链接:点击查看

题目大意:给出一个 n * m 的矩阵,其中 ' R ' 表示遥控车,' D ' 表示目的地,' X ' 表示障碍物,每一秒都可以操控任意一个遥控车向四个方向中的任意方向移动,不过移动必须满足直到撞到空地的边界、障碍物或其他遥控车后才能停止,很像小时候玩过的推冰块游戏。然后问,能否存在一种方法,使得在第 k 分钟时使得任意一个遥控车到达任意一个目的地

题目分析:因为所有数据都很小,我们不妨计算一下dfs爆搜的时间复杂度,至多有 4 个遥控车,每个遥控车有 4 个方向,也就是说每一秒钟有 4 * 4 = 16 种情况,时间 k 至多只有 5 秒,也就是说时间复杂度为 16^5 ,1e6 左右,这样直接模拟就好了

这个题目主要是为了纪念一下第一次自己动手写dfs,并且 1A 的题目吧

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
using namespace std;typedef long long LL;typedef unsigned long long ull;const LL inf=0x3f3f3f3f;const int N=15;const int b[4][2]={0,1,0,-1,1,0,-1,0};int n,m,k;char maze[N][N];bool vis[N][N];vector<pair<int,int>>pos;bool check()
{for(int i=0;i<pos.size();i++)if(vis[pos[i].first][pos[i].second])return true;return false;
}bool check_bound(int x,int y)
{return x>0&&y>0&&x<=n&&y<=m;
}bool dfs(int step)
{if(step==0)  return check();for(int i=0;i<pos.size();i++)//枚举车辆 for(int k=0;k<4;k++)//枚举方向 {int sx=pos[i].first,sy=pos[i].second;maze[sx][sy]='.';int x=sx,y=sy;int xx=x+b[k][0];int yy=y+b[k][1];while(check_bound(xx,yy)&&maze[xx][yy]!='R'&&maze[xx][yy]!='X'){x=xx,y=yy;xx+=b[k][0];yy+=b[k][1];}maze[x][y]='R';pos[i].first=x,pos[i].second=y;if(dfs(step-1))return true;pos[i].first=sx,pos[i].second=sy;maze[x][y]='.';maze[sx][sy]='R';}return false;
}int main()
{
#ifndef ONLINE_JUDGE
//  freopen("input.txt","r",stdin);
//  freopen("output.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);scanf("%d%d%d",&m,&n,&k);for(int i=1;i<=n;i++)scanf("%s",maze[i]+1);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){if(maze[i][j]=='D')vis[i][j]=true;if(maze[i][j]=='R')pos.push_back(make_pair(i,j));}if(dfs(k))puts("YES");elseputs("NO");return 0;
}

牛客 - 车辆调度(dfs)相关推荐

  1. 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)

    题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...

  2. 变异蛮牛 树,dfs,二分图染色 牛客白月赛44

    链接:https://ac.nowcoder.com/acm/contest/11221/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52 ...

  3. 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)...

    链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...

  4. 牛客小白月赛12 H 华华和月月种树 (离线dfs序+线段树)

    链接:https://ac.nowcoder.com/acm/contest/392/H 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言2621 ...

  5. 树的距离(牛客网树上主席树+dfs序)

    链接:https://ac.nowcoder.com/acm/problem/14415 来源:牛客网 题目描述 wyf非常喜欢树.一棵有根数树上有N个节点,1号点是他的根,每条边都有一个距离,而wy ...

  6. 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)

    题干: 链接:https://ac.nowcoder.com/acm/contest/882/F 来源:牛客网 Given 2N people, you need to assign each of ...

  7. 【牛客 - 157D】插排树(dfs,树形dp)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/D 来源:牛客网 一年一度的山东省oi夏令营又开始了,每到这个季节,山东的oier们都会欢聚这里,一起学( ...

  8. 【牛客 - 157B】凤凰(树上并查集,dfs)

    题干: 链接:https://ac.nowcoder.com/acm/contest/157/B 来源:牛客网 题目描述 传说,凤凰是百鸟之王.有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的 ...

  9. 【牛客 - 373C】抓捕盗窃犯(连通图,思维,dfs 或 并查集)

    题干: 链接:https://ac.nowcoder.com/acm/contest/373/C 来源:牛客网 Q市发生了一起特大盗窃案.这起盗窃案是由多名盗窃犯联合实施的,你要做的就是尽可能多的抓捕 ...

最新文章

  1. 绿联 蓝牙适配器 linux,绿联蓝牙适配器
  2. modelandview 可以返回html么_python爬虫反反爬,你几乎可以横扫大部分 css 字体加密的网站...
  3. 向周鸿祎的360安全浏览器学互联网产品运营和推广
  4. [转]ASP.NET MVC4中@model使用多个类型实例的方法
  5. Python的第三方库xlwt
  6. map slice综合示例 go语言
  7. mysql进程多_MySQL进程列表的进程太多。正常吗?
  8. 图:中国航天六院演讲比赛使用的用户自定义的PPT界面_[评委计分系统-双屏专业版]提供支持
  9. php单页搜索引擎小偷,PIGO mini php搜索小偷 v2.0 正式版
  10. 领域驱动设计(Domain Driven Design,DDD)
  11. kettle抽取数据
  12. 通俗易懂的Spatial Transformer Networks(STN)(二)
  13. 阅读“变形计”:一场偶然与非偶然的相遇
  14. php 输出七芒星,SongNet:硬格式控制下的文本生成
  15. Calamari 安装
  16. 用OneTab减少Chrome内存消耗
  17. Java图片嵌套图片
  18. Ubuntu18.04网络连接图标上显示问号
  19. BananaPi Wifi 连接
  20. android 判断文件是否存在

热门文章

  1. qt调用html里面的函数吗,QT和JS的互相调用例子
  2. SpringSecurity分布式整合之分布式认证流程说明
  3. 并发的发展历史-集成电路和多道程序设计
  4. list 数据类型的应用场景
  5. 数据源(连接池)的作用
  6. RocketMQ核心架构和概
  7. RocketMQ的Producer详解之顺序消息(原理)
  8. 制作模块-制作模块压缩包
  9. spring事务管理-演示事务的环境准备
  10. 设计模式之_Strategy_01