本文主要是介绍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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!