zcmu1275: Seeding
题目链接:https://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1275
题目大意
长为n宽为m的草坪,“.”表示杂草,”S“表示石头,现在从(1,1)位置开始除草,每次可以上下左右移动,但是石头作为障碍物阻挡你前进,你应该选择绕路。问你最后能不能清理掉所有的杂草。
思路
从(1,1)位置开始跑dfs,看最大深度是不是n*m-cnt,cnt是石头个数。还要特判(1,1)位置是不是石头。
ac代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ok(x, y) x >= 1 && x <= n && y >= 1 && y <= m
int dx[] = {0, 0, -1, 1};
int dy[] = {-1, 1, 0, 0};
int vis[10][10];
char a[10][10];
int n, m, cnt, flag;
void dfs(int x, int y, int dep){if(dep == cnt){flag = 1;return;}for(int i = 0; i < 4; i ++){int tx = x + dx[i];int ty = y + dy[i];if(ok(tx, ty) && !vis[tx][ty] && a[tx][ty] != 'S'){vis[tx][ty] = 1;dfs(tx, ty, dep + 1);if(flag) return;vis[tx][ty] = 0;}}
}
int main(){while(~scanf("%d%d", &n, &m)){if(n + m == 0) break;cnt = n * m;memset(vis, 0, sizeof(vis));for(int i = 1; i <= n; i ++) {scanf("%s", a[i] + 1);for(int j = 1; j <= m; j ++){if(a[i][j] == 'S') cnt --;}}if(a[1][1] == 'S'){puts("NO");continue;}flag = 0;vis[1][1] = 1;dfs(1, 1, 1);if(flag) puts("YES");else puts("NO");}return 0;
}
zcmu1275: Seeding相关推荐
- php vendor bin phinx,数据库Seeding
# 数据库 Seeding Phinx 0.5.0 支持数据库中使用seeding插入测试数据.Seed 类可以很方便的在数据库创建以后填充数据.这些文件默认放置在 seeds 目录,路径可以在配置文 ...
- EntityFramworkCore 配置种子数据(seeding data)
目录 1.准备工作 1.1员工类 1.2 安装EFcore包以及mysql包 1.3 配置mysql数据库 2.配置种子数据 2.1.简单办法 2.2 保持干净 2.3 高级一点的做法 2.4 为了部 ...
- DeprecationWarning: Seeding based on hashing is deprecated since Python 3.9
我的环境是python3.9. 今天在演示蒙特卡洛算法时遇到报错DeprecationWarning: Seeding based on hashing is deprecated since Pyt ...
- ZOJ 2100 Seeding ( DFS 经典回溯
Seeding 题目描述 It is spring time and farmers have to plant seeds in the field. Tom has a nice field, w ...
- laravel seeding
提前配置测试数据 php artisan make:seeder UserTableSeeder write random data <?phpuse Illuminate\Database\S ...
- Seeding Service Secrets
所有EdgeX服务现在都能够指定一个JSON文件,该文件包含服务的机密,这些机密在服务启动期间被植入服务中.这允许服务在需要他们是能够使用他. 注意: 要使用他们,服务必须事先已配置.这个工作默认情况 ...
- 2022浙江理工校赛 问题 I: Tournament Seeding
tag:[排序] . [配对问题].[枚举--逆向思维] 题目描述:略 得到过程: 对于一个题目中的数列,我们先尝试看看能不能排序:答案是可以(证明过程略). 我们得到,如下图的有序数列. ----- ...
- Laravel数据库之Seeding
1.简介 Laravel提供了一种使用种子类将测试数据作为数据库种子的简单方法. 所有种子类都存储在database / seeders目录中. 种子类可能具有您想要的任何名称,但可能应该遵循一些明智 ...
- SqlServer 2016新特性 —— automatic seeding (自动种子设定)究竟是什么
在 SQL Server 2012 和 2014 中,初始化 SQL Server Always On 可用性组中的次要副本的唯一方法是手动执行备份.复制和还原.SQL Server 2016 引入了 ...
最新文章
- 徐匡迪、潘云鹤等纷纷撰文,关于人工智能的最新判断都在这里了
- 2018/Province_Java_C/2/猴子分香蕉
- Python+Hive环境搭建
- mysql免安装数据库用法_MySQL数据库之mysql免安装制作使用说明
- 如何在Marketing Cloud里创建extension field扩展字段
- 华为辞职门事件——再谈工作问题
- python学习: 如何循序渐进学习Python语言
- 正式发布!鸿蒙,来了!
- Request 部分功能
- 如何教女朋友学 Python?
- ClickHouse在字节跳动推荐和广告业务部门的最佳实践
- 使用cos组建上传文件
- 数据结构考研自用——动态顺序表的实现【王道/严蔚敏C语言版】
- tokenize java,Java split string - Java tokenize string examples - 入门小站-rumenz.com
- 钢铁侠或漫威中有哪些黑科技?
- 幂等 (idempotence) 的概念
- Windows配置端口转发绕过samba 445端口限制共享linux磁盘
- Buddy 内存管理机制(下)
- 一般计算机电源都在什么服务,工控服务器电源与普通电脑电源的区别
- 64B/66B编码技术
热门文章
- 用户输入邮箱,验证邮箱格式是否正确(验证用户输入的邮箱地址中是否含有字符'@')
- python数据分析五个最常用库
- 要不要考公务员 | 进国企?
- 原创丨嵌入式IMX6ULL学习指引-四大要点-简单也实用
- 【工具篇】Joystick Pack摇杆使用Unity多场景使用摇杆
- VC组合框的使用示例
- 报错解决:SyntaxError: Non-UTF-8 code starting with ‘\xe7‘
- python求最小公倍数
- RuntimeError: Sizes of tensors must match except in dimension 2. Got 5 and 4
- Opencv 笔记8 霍夫变换