AtCoder Beginner Contest 241(Sponsored by Panasonic)

所有的'#'作为起点

对于每一个起点 向八个方向进行搜索

最多允许容纳两次'.' (以'.'充当'#')

当长度达到6时 返回true

#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
typedef pair<int, int>PII;
const int N = 1e3 + 10;
vector<PII>v;
char g[N][N];
int n;
int p[] = { -1,-1,0,1,1,1,0,-1 };
int q[] = { 0,1,1,1,0,-1,-1,-1 };
bool flag = false;
//dx dy是偏移量
void dfs(int x, int y, int dx, int dy, int length, int chance)
{//chance是机会 有两次不是#的机会if (chance == -1)return;if (length == 6){flag = true;return;}int posx = x + dx, posy = y + dy;if (posx<0 || posx>=n || posy<0 || posy>=n)return;//出界//如果是 # 长度+1//如果是 . 充当 # 进行搜索 chance机会-1if (g[posx][posy] == '#')dfs(posx, posy, dx, dy, length + 1, chance);else dfs(x + dx, y + dy, dx, dy, length + 1, chance - 1);}
int main()
{cin >> n;for (int i = 0;i < n;i++)cin >> g[i];for (int i = 0;i < n;i++)for (int j = 0;j < n;j++)if (g[i][j] == '#')v.push_back({ i,j });//存所有的起点for (auto it : v){//从#开始搜索int x = it.first, y = it.second;for (int i = 0;i < 8;i++){int dx = p[i], dy = q[i];dfs(x, y, dx, dy, 1, 2);}}if (flag)puts("Yes");else puts("No");return 0;
}

C - Connect 6相关推荐

  1. Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker. ...

  2. Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

    安装了mysql, 使用命令mysql -u root -p 弹出Can 't connect to local MySQL server through socket '/tmp/mysql.soc ...

  3. oracle 10035 err 942,案例:Oracle日志报错 Fatal NI connect error 12170 TNS-12535 TNS-00505

    天萃荷净 Oracle数据库alert日志文件报错Fatal NI connect error 12170,通过查看mos相关文章找到解决办法 今天在一台服务器的日志文件中,发现如下信息: Fatal ...

  4. socket connect阻塞和非阻塞处理

    建立socket后默认connect()函数为阻塞连接状态,在大多数实现中,connect的超时时间在75s至几分钟之间,想要缩短超时时间,可解决问题的两种方法:方法一.将socket句柄设置为非阻塞 ...

  5. 【Qt】Qt再学习(十六):QObject::connect: Cannot queue arguments of type ‘QString‘

    1.问题描述 跨线程使用信号和槽时,如果是非const的引用传参,就会报如下的错误: QObject::connect: Cannot queue arguments of type 'QString ...

  6. 【网络编程】非阻塞connect详解

    一.为什么使用非阻塞connect TCP连接的建立涉及一个在三路握手过程,阻塞的connect一直等到客户收到自己的SYN的ACK才返回,这需要至少一个RTT时间,RTT时间波动很大从几毫秒到几秒. ...

  7. pyqt designer connect无响应_如何用PyQt编写桌面程序,创建并打开播放列表?

    由于电脑上的短视频太多了,并且分别存放在各个子目录下,每次更新后想要整理视频比较麻烦,因此想用Python编写程序来辅助管理视频文件.其实写个Python脚本程序即可实现大器的需求,但为了多练习PyQ ...

  8. Fastlane 入门实战教程从打包到上传iTunes connect

    有关神器 Fastlane 持续集成\部署的文章网上挺多,本文定位是入门教程,针对 iOS 应用的持续部署,只需一条命令就可实现从 Xcode 项目到 编译\打包\构建\提交审核 文章稍微有点长,涵盖 ...

  9. 1.3 Quick Start中 Step 7: Use Kafka Connect to import/export data官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Step 7: Use Kafka Connect to import/export ...

  10. netbackup错误之can not connect on socket(25)

    rhel5.5上安装netbackup 7.0,这个版本只能安装在64位系统上.安装完netbackup 7.0后,发现登录界面一直报java认证失败,查看了下日志文件,报如下内容: 查了下系统设置, ...

最新文章

  1. Codeforces Round #643 (Div. 2)B到C题解
  2. vector排序与查找
  3. 一致吗 驱动_iPhone 12无线充电真的香吗?
  4. 模型计算量(FLOPs)和参数量(Params)的理解
  5. 推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)
  6. 数据的四大特征_大数据
  7. python数据包头_Python爬虫-请求响应包头
  8. Windows 新漏洞可被用于强制服务器以攻击者身份认证,官方缓解措施已发布
  9. 如何把不同尺寸ico格式图标_iConvert Icons——图标创建转换工具
  10. 怎样解决DEDE织梦友情链接字数限制与链接个数限制
  11. [Cydia] 使用Cydia安装iPA破解补丁教程
  12. 高清沉浸式体验:基于 RTC 的全景 8K@120fps FoV 实践
  13. Vue-Waterfall-Easy插件详细使用教程
  14. 用户邀请码的生成方法
  15. windows10 系统配置nginx文件服务器
  16. 团队协作一、onlyoffice协同开发使用
  17. 2020哈工程计算机考研复试——网络线上自述
  18. ubuntu20.04虚拟机使用水星mw150us无线usb接口网卡
  19. mysql下载完安装包怎么办_MySQL下载压缩包安装详细过程
  20. 华科计算机考研2021年分数,华中科技大学2021考研分数线已公布

热门文章

  1. 有种朋友,很喜欢,却不忍动情
  2. 统信UOS系统Kafka_2.13-2.5.0单节点安装包方式部署
  3. 电子科大计算机复试c语言复试题目,电子科大计算机的复试之路_跨考网
  4. Keil虚拟仿真逻辑仪及SaleaeLogic16抓取波形进行协议分析
  5. H5移动端下拉 - mobileSelect
  6. idea忽略某些文件,idea配 jdk、maven,改背景颜色,切换账号,彩虹进度条插件
  7. DNA序列的聚类与判别
  8. 51单片机-DS18B20单片
  9. 基于阿里云物联网平台MQTT协议实现云端和mqttfx通讯
  10. 中达优控触摸屏编程视频教程_触摸屏组态编程软件|中达优控触摸屏编程软件(YKBuilder)1.0 官方版_ - 极光下载站...