Hud 5024 Wang Xifeng's Little Plot(2014 ACM/ICPC Asia Regional Guangzhou Online)

2024-06-07 03:32

本文主要是介绍Hud 5024 Wang Xifeng's Little Plot(2014 ACM/ICPC Asia Regional Guangzhou Online),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5024

题目的意思就是 :找只能拐一个90度的弯的最长路。。直接模拟就好。。

记得网赛的时候,对这个题的题意还是比较有争议的。。。

贴下最主要的题意:if there was a turn, that turn must be ninety degree.

如果有弯,那必须是90度的弯。。这一点十分重要。。

那么这就好弄了。。枚举'.'位置的8个方向。。垂直组合找到最大的就好。代码简单,思路清晰。。

Code:

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <cstdio>
using namespace std;const int  N = 105;
char map[N][N];
int n;int find(int x, int y)
{int _0 = 0, _1 = 0, _2 = 0, _3 = 0, _4 = 0, _5 = 0, _6 = 0, _7 = 0;int xx = x, yy = y;while(map[xx][yy] == '.' && xx >= 1) _0 ++, xx --;xx = x; yy = y;while(map[xx][yy] == '.' && xx >= 1 && yy <= n) _1 ++, xx --, yy ++;xx = x; yy = y;while(map[xx][yy] == '.' && yy <= n) _2 ++, yy ++;xx = x; yy = y;while(map[xx][yy] == '.' && xx <= n && yy <= n) _3 ++, xx ++, yy ++;xx = x; yy = y;while(map[xx][yy] == '.' && xx <= n) _4 ++, xx ++;xx = x; yy = y;while(map[xx][yy] == '.' && xx <= n && yy >= 1) _5 ++, xx ++, yy --;xx = x; yy = y;while(map[xx][yy] == '.' && yy >= 1) _6 ++, yy --;xx = x; yy = y;while(map[xx][yy] == '.' && xx >= 1 && yy >= 1) _7 ++, xx --, yy --;
//    cout << _0 << _1 << _2 << _3 << _4 << _5 << _6 << _7 << endl;int ans = 0;if(_0 + _2 - 1> ans) ans = _0 + _2 - 1;if(_1 + _3 - 1> ans) ans = _1 + _3 - 1;if(_2 + _4 - 1> ans) ans = _2 + _4 - 1;if(_3 + _5 - 1> ans) ans = _3 + _5 - 1;if(_4 + _6 - 1> ans) ans = _4 + _6 - 1;if(_5 + _7 - 1> ans) ans = _5 + _7 - 1;if(_6 + _0 - 1> ans) ans = _6 + _0 - 1;if(_7 + _1  -1> ans) ans = _7 + _1 - 1;return ans;
}
int main()
{while(scanf("%d", &n) && n){getchar();for(int i = 1; i <= n; i ++){for(int j = 1; j <= n; j ++)scanf("%c", &map[i][j]);getchar();}int ans = -1;for(int i = 1; i <= n; i ++){for(int j = 1; j <= n; j ++)if(map[i][j] == '.'){ans = max(ans, find(i, j));}}printf("%d\n", ans);}return 0;
}

最近状态不好,希望慢慢的调整过来。。我也不知道为什么会出现这种感觉。。

这篇关于Hud 5024 Wang Xifeng's Little Plot(2014 ACM/ICPC Asia Regional Guangzhou Online)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038045

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

Regionals 2004 Asia - Beijing Argus 小根堆

点击打开链接 小根堆 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokeni

【转载】ACM感悟

今天看了一篇我们学校前辈的ACM的感悟,觉得写的十分有道理,这里转载,文章还会不断的改进和更新。 原文链接:http://www.cnblogs.com/Chierush/p/3760870.html?ADUIN=1339764596&ADSESSION=1401536826&ADTAG=CLIENT.QQ.5329_.0&ADPUBNO=26349 声明:本文是写给弱校ACM新手的一点

我们依旧在追梦的路上-山东省第六届ACM比赛总结

这场比赛从结果而言达到了预期(金牌),从过程而言和我的预期相差甚远(打的太乱,个人发挥很差),还好关键时刻队友抗住压力,负责后果真的不堪设想。 热身赛 热身赛纯粹测机器的,先把A,B,C草草水过(A题小写x打成大写的也是醉了),我和老高开始各种测机器,long long不出所料是lld的,试了一下除0和数组越界的re问题,发现没有re,只有wa(甚至数组越界还AC了),至于栈深的话也没过多追

2014年暑假培训 - 数论

A银河上的星星 /**************************************************************     Problem: 1014     User: DoubleQ     Language: C++     Result: Accepted     Time:190 ms     Memor

2014暑假集训搜索专题

A - 漫步校园 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Description LL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边,缺乏运动。他决定充分利用每次从寝室到机房的时间,在校园里散散步。整个HDU校园呈方形布局,可划