描述

一年一度的xuzhenyiOI2006在风景如画的大同中学举行。按照以往惯例, 在激烈的比赛过程后,选手们会应邀去风景名胜区游览。今年当然也不例外。为了确定一条最佳的旅游路线,组委会请各位选手编一程序帮忙寻找。假设所有的风景 点都集中在一个C列R行的矩阵中,矩阵的每一元素代表风景点或者障碍物。现在你要寻找一条满足下列条件的最佳旅游路线:
●这条路线上的每一点结点必须是风景点(即不能为障碍物)
●每个风景点最多游览一次
●这条路线必须是连续的相邻风景点的序列(若风景点A和B分别位于矩阵的位置(a1,a2)及(b1,b2),且|a1-b1|+|a2-b2|=1,则风景点A和B是相邻的)
●在满足上述条件下,游览的风景点尽可能多
假设任意的两个风景点都有且仅有一条路径(无回路)相连。显然,任意一个风景点都可以作为游览路线的起点或者终点。

格式

输入格式

第一行是两个整数C和R(3≤C,R≤1000),表示矩阵的列数和行数。

接下来有R行,每行有C个字符,每个字符都只能是‘#’或‘.’,‘#’表示障碍物,‘.’表示风景点。行手行末无多余空格。

输出格式

只有一行,输出最佳路线的长度。

样例1

样例输入1[复制]

3 3
###
#.#
###

样例输出1[复制]

0

来源

huyichen

题解:求树上最长链,即树的直径,两遍DFS,第一次从任意点开始,搜到距离它最远的那个点,这个点一定是直径的一个端点,再从这个端点DFS,搜到其最远点,即是答案。

CODE:

#include <iostream>
#include <cstdio>
#include <cstring>
#define REP(i, s, n) for(int i = s; i <= n; i ++)
#define REP_(i, s, n) for(int i = n; i >= s; i --)
#define MAX_N 1000 + 10using namespace std;int n, m, ans, mx, my;
bool map[MAX_N][MAX_N];
char c;
int dx[5] = {0, -1, 0, 0, 1}, dy[5] = {0, 0, -1, 1, 0};void dfs(int d,int x,int y){map[x][y] = 0;if(d > ans) ans = d, mx = x, my = y;REP(i, 1, 4){int nx = x + dx[i], ny = y + dy[i];if(nx >= 1 && nx <= n && ny >= 1 && ny <= m && map[nx][ny]) dfs(d + 1, nx, ny);}map[x][y] = 1;
}int main(){scanf("%d%d", &n, &m); getchar();REP(i, 1, n){REP(j, 1, m){scanf("%c", &c);if(c == '.') map[i][j] = 1, mx = j, my = i;} getchar();}dfs(0, mx, my); dfs(0, mx, my);printf("%d\n", ans);return 0;
}

转载于:https://www.cnblogs.com/ALXPCUN/p/4532382.html

VJ 1107 环游大同80天相关推荐

  1. 上下伸缩代码_CQRS之旅——旅程4(扩展和增强订单和注册限界上下文)

    旅程4:扩展和增强订单和注册限界上下文 进一步探索订单和注册的有界上下文."我明白,如果一个人想看些新鲜的东西,旅行并不是没有意义的."儒勒·凡尔纳,环游世界80天 对限界上下文的 ...

  2. visual studio 设计器不显示_设计模式 | Iterator设计模式

    适应设计模式 1 1.0 前言 此文是日本作者结城浩著作的<图解设计模式>的译作,原文用java程序编写,对熟练掌握C++.对java不熟悉的读者来说,程序读起来相当费劲.因此本文作者将书 ...

  3. [10.21][转贴][中国][成龙作品集34部][DVD-RMVB/16.2G][中文字幕/影片截图]

    本名:陈港生 艺名:陈元龙 英文名:JACKIE CHAN 生日:1954年4月7日 生肖:马 出生地:中国香港 籍贯:山东 职业:演员.导演.歌星 身高:1.74M 体重:63kg 血型:AB 婚姻 ...

  4. 男士最佳衣着选择搭配

    男士最佳选择,西装革履: 一.搭配. 从衬衣到领带到西服颜色应该有层次,由浅及深,领带的颜色还该是西服的原色,绝对不能盖过西服.千万不要把领带.衬衣.西服胡乱搭配,尤其是领带,在你的品位还远远没有达到 ...

  5. 养儿子是建设银行,女儿是招商银行

    史上最豪婚礼花费7亿港元上演" 现代版灰姑娘"的故事 --徐子淇李家诚全球大婚    (2006年)                                         ...

  6. 阿诺德·施瓦辛格(ARNOLD SCHWARZENEGGER )

    阿诺德·施瓦辛格 目录 ·个人简介 ·施瓦辛格的成功之路: ·演员作品 ·阿诺德·施瓦辛格生平 个人简介 名人姓名:阿诺德·施瓦辛格(ARNOLD SCHWARZENEGGER ) 出生年代:1947 ...

  7. 电驴资源 凡尔纳“八十天环球地球”小说英文全文朗读plusPHD

    电驴资源 凡尔纳"八十天环球地球"小说英文全文朗读plusPHD 2010年03月05日 ed2k://|file|[%E5%87%A1%E5%B0%94%E7%BA%B3%E2% ...

  8. 【GetFeature】返回来自数据源的特征选择,包括几何和属性值

    WFS 的当前版本是2.0.0.GeoServer 支持版本 2.0.0.1.1.0 和 1.0.0.尽管版本之间存在一些重要差异,但请求语法通常保持不变, WFS 的所有版本都支持以下操作: Get ...

  9. Android SDK 环境配置与离线安装问题(校园网)

    一.SDK环境配置过程出现的问题: Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list.xml, r ...

最新文章

  1. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
  2. UI设计比较流行的插画类型和运用
  3. BZOJ 2947 Poi2000 促销 set
  4. Visual Studio 2019更新到16.2.2
  5. vs 2005 下载,再汉化---没想到是痛苦的过程
  6. AutoML Challenge 历史回顾
  7. 几个常用的JS代码.
  8. python错误代码40035_[Python]网络爬虫(三):异常的处理和HTTP状态码的分类
  9. 互联网公司分批返岗;Safari 将封杀超过398天的 HTTPS 证书;TypeScript 3.8 发布 | 极客头条...
  10. EF架构~看看下面这代码,你还敢用它的延时加载吗?
  11. mysql数据库asc_mysql数据库
  12. 冰蝎v4.0已经更新,在Java18下也能启动冰蝎。
  13. 小米温湿度计接入homeassistant
  14. IPv4 Type of Service服务类型(TOS)字段
  15. mac 10.10.5 mysql_Mac 10.10.5 环境下搭建apache,php,mysql,phpadmin
  16. 卡卷特权接口API源码
  17. 生活随笔-江南好,风景旧曾谙
  18. 为何TCP/IP协议栈设计成沙漏型的
  19. 论文写作 4: 彻底解决英文句子的语法问题 (好的中文 = 好的英文)
  20. centos7应用笔记:键盘重影射

热门文章

  1. WiFi Direct详解(p2p使能,扫描,连接流程)基于Android8.1.0
  2. annoy(快速近邻向量搜索包)学习小记 - pip命令学习与annoy基础使用
  3. 毫米波雷达以及在ADAS中的应用
  4. php自测试卷2,PHP试卷2
  5. 用友NC63界面新增按钮实现方法
  6. @mapper(componentModel = “spring”)注解
  7. 从乐高上我们可以学到什么?
  8. 《当幸福来敲门》的生活指向...
  9. 网易视频接口网易视频接口
  10. 高并发场景下的库存更新