hdu5024
思路要开阔些,或者说要转化一下思路,别太死
把每一个点当拐点,爆一边就能够。用记忆化搜索也行。都不会超时
#include<bits/stdc++.h>
using namespace std;
int n;
#define o ans=max(ans,
char C[105][105]; int f(int i,int j,int a,int b){
int k=0;
while(1){
if(i<0||j<0||i>=n||j>=n||C[i][j]!='.') break;
i+=a; j+=b; k++;
}
return k;
} int main()
{
while(scanf("%d",&n)&&n){
for(int i=0;i<n;i++ ) scanf("%s",C[i]);
int ans=-1;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
if(C[i][j]=='.'){
o f(i,j,0,1)+f(i,j,1,0)-1);
o f(i,j,0,1)+f(i,j,-1,0)-1);
o f(i,j,0,-1)+f(i,j,1,0)-1);
o f(i,j,0,-1)+f(i,j,-1,0)-1);
o f(i,j,-1,1)+f(i,j,1,1)-1);
o f(i,j,1,1)+f(i,j,1,-1)-1);
o f(i,j,-1,-1)+f(i,j,1,-1)-1);
o f(i,j,-1,-1)+f(i,j,-1,1)-1);
}
}
printf("%d\n",ans);
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define maxn 105
int n;
const int dx[]= {0,-1,0,1,-1,1,1,-1};
const int dy[]= {-1,0,1,0,-1,-1,1,1};
int dp[maxn][maxn][8] , ans;
char mapp[maxn][maxn];
int DFS(int x,int y,int dir){
if(dp[x][y][dir]!=-1) return dp[x][y][dir];
if(mapp[x +dx[dir] ][y+ dy[dir] ]=='.')
return dp[x][y][dir]=1+DFS(x+dx[dir],y+dy[dir],dir);
else return dp[x][y][dir]=1;
}
void cal(int x,int y,int d1,int d2){
ans = max(ans, DFS(x,y,d1)+DFS(x,y,d2)-1);
}
int main()
{
while(scanf("%d",&n)!=EOF && n){
memset(mapp,1,sizeof(mapp));
memset(dp,-1,sizeof(dp));
ans=-1;
for(int i=0;i<n;i++) scanf("%s",mapp[i]);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(mapp[i][j]=='.'){
for(int k=0;k<4;k++){
cal(i,j,k%4,(k+1)%4);
cal(i,j,4+k%4,4+(k+1)%4);
}
}
}
printf("%d\n",ans);
}
return 0;
}
hdu5024的更多相关文章
- hdu5024 Wang Xifeng's Little Plot (水
http://acm.hdu.edu.cn/showproblem.php?pid=5024 网络赛 Wang Xifeng's Little Plot Time Limit: 2000/1000 M ...
- hdu5024(dp)
意甲冠军: 薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤) 现在'.'事情是这样的.'#'一堵墙.薛期呵对宝让生活远: 因此,选择一个最长的公路,让他们住在两端: 路达一个转折点. ...
随机推荐
- Windows下mnist数据集caffemodel分类模型训练及测试
1. MNIST数据集介绍 MNIST是一个手写数字数据库,样本收集的是美国中学生手写样本,比较符合实际情况,大体上样本是这样的: MNIST数据库有以下特性: 包含了60000个训练样本集和1000 ...
- POJ 1141 括号匹配 DP
黑书原题 区间DP,递归输出 不看Discuss毁一生 (woc还真有空串的情况啊) //By SiriusRen #include <cstdio> #include <cstri ...
- fullpage中大的图片超过一屏怎么在手机端滑动显示?
fullpage中大的图片超过一屏怎么在手机端滑动显示?(设置overflow电脑端是会出现滚动条的,但是在手机端不出现滚动条,图片也不可左右滑动显示) var $window = $(window) ...
- Java类和对象8
按要求编写Java应用程序. (1)创建一个叫做People的类: 属性:姓名.年龄.性别.身高 行为:说话.计算加法.改名 编写能为所有属性赋值的构造方法: (2)创建主类: 创建一 ...
- Java类和对象4
编写Java应用程序.首先,定义一个Print类,它有一个方法void output(intx),如果x的值是1,在控制台打印出大写的英文字母表:如果x的值是2,在控制台打印出小写的英文字母表.其次, ...
- MySql语句中select可以嵌套么,字段的重命名可以用中文么
今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> my ...
- 51Nod 蜥蜴和地下室(搜索)
哈利喜欢玩角色扮演的电脑游戏<蜥蜴和地下室>.此时,他正在扮演一个魔术师.在最后一关,他必须和一排的弓箭手战斗.他唯一能消灭他们的办法是一个火球咒语.如果哈利用他的火球咒语攻击第i个弓箭手 ...
- Linux/Mac vi命令详解
刚开始学着用Linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...
- 使用 AutoHotKey 配合Win10分屏功能
Win+tab键 建立新的虚拟桌面 使用笔记本电脑的触摸板,用四个手指滑的话就可以在虚拟桌面间切换 那么就映射一下, 要是能一键切换的话就相当于是个"老板键"了 1.安装AutoH ...
- 洛谷1005 【NOIP2007】矩阵取数游戏
问题描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...