博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5024
阅读量:4991 次
发布时间:2019-06-12

本文共 1677 字,大约阅读时间需要 5 分钟。

题目传送门 

题目大意就是给你一个存在障碍的地图,每次只能旋转90度仅且一次,要你求出最长的通路

其实是一道暴力的水题,哎一开始想着很SB的方法,写了大半天都没写出来,看了看别人的枚举思路后就瞬间茅塞顿开了~~,就是以每个点为转折点,算出齐八个方向转折线路的最大和,然后每个点比较就出现最大值啦><

淼题!!!

#include 
#include
using namespace std;const int maxn = 111;char mp[maxn][maxn];int n;int zhi_x[] = {1,-1,0,0};int zhi_y[] = {0,0,1,-1};int xie_x[] = {1,1,-1,-1};int xie_y[] = {-1,1,1,-1};int get_max(int x,int y) { int MAX = 0; int b[8] = {0}; int j = -1; for(int i = 0;i < 4;++i) { b[++j] = 1; int dx = x + zhi_x[i]; int dy = y + zhi_y[i]; for(;;dx += zhi_x[i],dy+=zhi_y[i]) { if(mp[dx][dy] == '.') b[j]++; else break; } } for(int i = 0;i < 4;++i) { b[++j] = 1; int dx = x + xie_x[i]; int dy = y + xie_y[i]; for(;;dx+=xie_x[i],dy+=xie_y[i]) { if(mp[dx][dy] == '.') b[j]++; else break; } } for(int i = 0;i < 4;++i) { for(int j = 0;j < 4;++j) { if(i!=j) MAX = max(MAX,b[i]+b[j]); } } for(int i = 4;i < 8;++i) { for(int j = 4;j < 8;++j) { if(i!=j) MAX = max(MAX,b[i]+b[j]); } } return MAX - 1;}void get_map() { for(int i = 0;i <= n+1;i++) for(int j = 0;j <= n+1;j++) mp[i][j] = '#'; for(int i = 1;i <= n;++i) for(int j = 1;j <= n;++j) scanf(" %c",&mp[i][j]);}void get_ans() { int ans = 0; for(int i = 1;i <= n;++i) for(int j = 1;j <= n;++j) if(mp[i][j] == '.')ans = max(ans,get_max(i,j)); printf("%d\n",ans);}int main() { while(scanf("%d",&n)&&n) { get_map(); get_ans(); } return 0;}

转载于:https://www.cnblogs.com/jusonalien/p/4113584.html

你可能感兴趣的文章
使用ehcache-spring-annotations开启ehcache的注解功能
查看>>
Charles设置HTTPS抓包
查看>>
NGUI出现Shader wants normals, but the mesh UIAtlas doesn&#39;t have them
查看>>
Boost.Asio c++ 网络编程翻译(14)
查看>>
Codeforces Round #306 (Div. 2) D.E. 解题报告
查看>>
uva 1557 - Calendar Game(博弈)
查看>>
HDU1051 Wooden Sticks 【贪婪】
查看>>
十大经典数据挖掘算法
查看>>
Rhythmbox乱码的解决的方法
查看>>
中纪委:抗震中官员临危退缩玩忽职守将被严处
查看>>
MySQL 8.0.12 基于Windows 安装教程
查看>>
在hue中使用hive
查看>>
eclipse快捷键
查看>>
在指定文本里记录内容
查看>>
Android WebView常见问题及解决方案汇总
查看>>
[BZOJ4025]二分图
查看>>
HTML5 Canvas玩转酷炫大波浪进度图
查看>>
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段
查看>>
电话录音系统说明书
查看>>
JVM(1)——IDEA启动分配内存大小及GC日志打印
查看>>