HDU 5024
题目大意:
在2个图上显示为'.'的位置建两座房间,保证这两间房子中间只转一个90度的弯,可以斜着走,问能建成房子的最远的路程长度为多少
暴力枚举
因为有8个方向,但横竖走和斜着走是不会产生90度角的,所以分成两部分进行考虑,每次找到一个联通的点作为转角,朝四个方向不断扩展长度,直到不能扩展为止,把最长长度的两个方向上的长度相加得到那一个点作为转角的最值
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 102
char mat[N][N];
int maxn,n;
int dir1[][] = {{,},{-,},{,},{,-}};
int dir2[][] = {{,},{-,},{,-},{-,-}};
void solve1(int x,int y)
{
int tmp[];
for(int i=;i<;i++){
int xx=x,yy=y;
tmp[i]=;
while(true){
xx+=dir1[i][];
yy+=dir1[i][];
if(mat[xx][yy]!='#'&&xx>=&&xx<n&&yy>=&&yy<n){
tmp[i]++;
}
else break;
}
}
sort(tmp,tmp+);
maxn = max(maxn,tmp[]+tmp[]);
} void solve2(int x,int y)
{
int tmp[]; for(int i=;i<;i++){
int xx=x,yy=y;
tmp[i]=;
while(true){
xx+=dir2[i][];
yy+=dir2[i][];
if(mat[xx][yy]!='#'&&xx>=&&xx<n&&yy>=&&yy<n){
tmp[i]++;
}
else break;
}
//if(x==0&&y==1) cout<<i<<" "<<tmp[i]<<endl;
}
sort(tmp,tmp+);
maxn = max(maxn,tmp[]+tmp[]);
} int main()
{
while(~scanf("%d",&n)){
if(n==)
break; maxn = ; for(int i=;i<n;i++)
for(int j=;j<n;j++)
cin>>mat[i][j]; for(int i=;i<n;i++)
for(int j=;j<n;j++)
if(mat[i][j]!='#'){
solve1(i,j); solve2(i,j); } printf("%d\n",maxn+);
}
return ;
}
HDU 5024的更多相关文章
- hdu 5024 最长的L型
http://acm.hdu.edu.cn/showproblem.php?pid=5024 找到一个最长的L型,L可以是斜着的 简单的模拟 #include <cstdio> #incl ...
- HDU 5024 Wang Xifeng's Little Plot 搜索
pid=5024">点击打开链接 Wang Xifeng's Little Plot Time Limit: 2000/1000 MS (Java/Others) Memory ...
- HDU 5024 Wang Xifeng's Little Plot (DP)
题意:给定一个n*m的矩阵,#表示不能走,.表示能走,让你求出最长的一条路,并且最多拐弯一次且为90度. 析:DP,dp[i][j][k][d] 表示当前在(i, j)位置,第 k 个方向,转了 d ...
- HDU 5024 Wang Xifeng's Little Plot(枚举)
题意:求一个图中只有一个90°拐点的路的最大长度. 分析:枚举每一个为'.'的点,求出以该点为拐点的八种路中的最大长度,再比较所有点,得出最大长度即可. 如上样例,这样是个90°的角... 注意:最多 ...
- [ACM] HDU 5024 Wang Xifeng's Little Plot (构造,枚举)
Wang Xifeng's Little Plot Problem Description <Dream of the Red Chamber>(also <The Story of ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
随机推荐
- 配置Ubuntu16.04第03步:安装搜狗输入法
1.进入搜狗官网:https://pinyin.sogou.com/linux/ ,下载搜狗输入法安装包 2.使用dpkg命令安装Deb包: sudo dpkg -i sogoupinyin_2.0. ...
- 员工管理系统(集合与IO流的结合使用 beta5.0 BufferedReader/ BufferedWriter)
package cn.gee; public class Emp { private String id;//员工编号 一般是唯一的 private String sname; private int ...
- D. Dasha and Very Difficult Problem 二分
http://codeforces.com/contest/761/problem/D c[i] = b[i] - a[i],而且b[]和a[]都属于[L, R] 现在给出a[i]原数组和c[i]的相 ...
- solr 管理页面详解
solr 服务器管理界面可以查看系统状态.solr设置.分词检测.查询索引.增减core.查看日志等 1.Dashboard(仪表盘) 访问http://localhost:8080/solr时,出现 ...
- 设置电脑IP
1.首先在Win7桌面上找到“网络”入口,如下图: 进入Win7网络 2.进入网络之后我们再点击顶部的“网络共享中心”,如下图: 进入Win7网络共享中心 3.进入Win7网络共享中心之后,我 ...
- R in action读书笔记(14)第十一章 中级绘图 之一:散点图(高能预警)
第十一章中级绘图 本章内容: 二元变量和多元变量关系的可视化 绘制散点图和折线图 理解相关图 学习马赛克图和关联图 本章用到的函数有: plot hexbin ablines iplot scatte ...
- Farseer.net轻量级ORM开源框架 V1.x 教程目录
本篇教程将以Ver 1.x版本进行详细使用讲解 大家有任何疑问可以加入我们的官方QQ群进行讨论.QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net 整个 ...
- 企业面试之LeetCode刷题心得
谈起刷LeetCode的心得,想要先扯点别的,说实话我是比较自虐的人,大学时候本专业从来不好好上,一直觊觎着别人的专业,因为自己文科生,总觉得没有项技术在身出门找工作都没有底气,然后看什么炫学什么,简 ...
- 说说windows10自带浏览器Edge的好与不好
用了10几个月了,正式版也升级了,今天来说说微软自带浏览器microsoft Edge的好与不好 先说好的吧 一,浏览器速度非常快,无论是打开还是关闭,或者是语音助手小娜需要调动浏 ...
- Java锁,真的有这么复杂吗?
为什么使用synchronizedvolatile,在多线程下可以保证变量的可见性,但是不能保证原子性,下面一段代码说明: 运行上面代码,会发现输出flag的值不是理想中10000,虽然volatil ...