CF1214D
CF1214D
题意:
给你一个 $ n \times m $ 的矩阵,求最少用多少个障碍,将 $ (1,1) $ 到 $ (n,m) $ 的路径堵死。
题意:
因为可以将起点两边堵死,所以答案最多是 $ 2 $ ,所以答案就只有 $ 0,1,2 $ 。
先两遍DFS抠出既能从 $ (1,1) $ 到达又能到达 $ (n,m) $ 的点,看看每个步数内能到达的点是否只有一个。
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define LL long long
#define N 1000010
int n,m,s,ans,f;
bool vis[N];
char ch[N];
void dfs(int x) {
if(ans) return;
if(x == f) {
ans++;
return;
}
int l = x / m,r = x % m;
if(l + 1 < n && vis[(l + 1) * m + r] == 0 && ch[(l + 1) * m + r] != '#') {
vis[(l + 1) * m + r] = 1;
dfs((l + 1) * m + r);
}
if(ans) return;
if(r + 1 < m && vis[l * m + r + 1] == 0 && ch[l * m + r + 1] != '#') {
vis[l * m + r + 1] = 1;
dfs(l * m + r + 1);
}
}
int main() {
scanf("%d%d",&n,&m);
for(int i = 0 ; i < n ; i++)
scanf("%s",ch + i * m);
f = n * m - 1,ans = 0;
vis[s] = 1,vis[f] = 0;
dfs(s);
if(ans == 0) {
puts("0");
return 0;
}
vis[s] = 1,vis[f] = 0;
ans = 0;
dfs(s);
if(ans == 0) puts("1");
else puts("2");
//system(
return 0;
}
CF1214D的更多相关文章
- 网格图必经点+dfs——cf1214D
先正着走一次把所有可行路径标记出来,然后倒着走两条路径,一条是能向下就向下的路径,另一条能向右就向右. 如果这两条路径相交,那么(1,1)-(n,m)路径上比有个必经点,把这个必经点封上,答案是1,如 ...
随机推荐
- Java单例设计模式和多例设计模式
单例设计模型 教学视频链接:https://edu.aliyun.com/course/1011 1,private不可以在类外部访问,但可以在内部访问 2,此时Singleton类内部的instan ...
- 通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了?
原文:通过SQL Server的扩展事件来跟踪SQL语句在运行时,时间都消耗到哪儿了? 问题就是,一个很简单的语句,在不同的服务器上执行,所需要的时间相差很大,特别提到在性能差的服务器上反而快,在性能 ...
- C#操作DOS命令,并获取处理返回值
// /*---------------- // // 文件名:Method // // 文件功能描述: // // 使用 ADB 来进行安卓设备与PC端之间的文件交互,具体adb命令操作请百度 ...
- IE6图片透明问题
网上很多解决IE6下png透明问题的方案,但是经本人实践,有的时候有用,有的时候并不能解决自己的问题.当是后者的时候,想到另外一种办法,就是当在IE6.IE7下使用gif图片,自己在测试的时候,如果g ...
- mysql5.7解压包安装教程
下载mysql5.7解压包Download MySQL Community Server,解压文件.https://dev.mysql.com/downloads/mysql/ 步骤1:新建my.in ...
- 简单注册表单--HTML练手项目3【Table】
[本文为原创,转载请注明出处] 技术[HTML] 布局[Table] 步骤1 划分table布局 步骤2 填充内容 文本框+密码框+单选框+复选框+多行文本域+按钮 <input> ...
- 如何让某些用户对Marketing Cloud的contact数据只能实施只读操作
打开maintain business role这个应用: 创建一个新的business role,然后添加下列这几个catalogs: SAP_CEC_BC_MKT_ADM_PC Marketing ...
- 前阿里P8架构师谈如何设计优秀的API
随着大数据.公共平台等互联网技术的日益成熟,API接口的重要性日益凸显,从公司的角度来看,API可以算作是公司一笔巨大的资产,公共API可以捕获用户.为公司做出许多贡献.对于个人来说,只要你编程,你就 ...
- spring-boot-actuator 常用配置
management: endpoints: web: base-path: "/" exposure: include: "*" endpoint: heal ...
- 【异常】airflow-psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory
1 异常信息 usr/include/python3.6m -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.6/psutil/_psut ...