思路要开阔些,或者说要转化一下思路,别太死

把每一个点当拐点,爆一边就能够。用记忆化搜索也行。都不会超时

#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的更多相关文章

  1. 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 ...

  2. hdu5024(dp)

    意甲冠军: 薛期呵和王熙凤不想很接近生活(因为假定他们一起,柴可能取代王熙凤) 现在'.'事情是这样的.'#'一堵墙.薛期呵对宝让生活远: 因此,选择一个最长的公路,让他们住在两端: 路达一个转折点. ...

随机推荐

  1. android常用控件的使用方法

    引言 xml很强大 TextView <TextView android:id="@+id/text_view" android:layout_width="mat ...

  2. 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转)

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?(转) 一.总结 一句话总结:.NET是一个平台,包含多种语言,比如(C#.Visual Basic.C++/C ...

  3. Vim 删除不包含指定字符串的行及统计匹配个数

    Vim 删除不包含指定字符串的行及统计匹配个数 转载▼     Help :g/pattern/d 是找到pattern, 删之 :v/pattern/d 是找到非pattern, 删之 :%s/xx ...

  4. Metasploit的三种启动方式

    不多说,直接上干货! 注意:博主我用的是Kali linux 2016.2(Rolling).  msfcli 的启动 root@kali:~# msfcli -h bash: msfcli: 未找到 ...

  5. ZoomIt(投影演示辅助软件)下载、安装与运行使用

    下载ZoomIt后,打开即可使用:打开时,你讲看到如下的几个页面,这几个页面是为了介绍每个功能的使用,还可以去设定你觉得比较舒服的快捷键, 默认的是Ctrl+1屏幕放大.Ctrl+2屏幕标注,Ctrl ...

  6. atom玩法

    1.先用 git 下载一个 react-devtools: $ cd /some-directory$ git clone --recursive https://github.com/faceboo ...

  7. vue组件父子之间相互通信案例

  8. 洛谷 P3152 正整数序列

    P3152 正整数序列 题目描述 kkk制造了一个序列,这个序列里的数全是由正整数构成的.你别认为她的数列很神奇——其实就是1, 2, …, n而已.当然,n是给定的.kkk的同学lzn认为0是一个好 ...

  9. POJ2485 Highways 【MST】

    Highways Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22842   Accepted: 10525 Descri ...

  10. ControlDesigner

    GetHitTest https://stackoverflow.com/questions/7762397/how-do-i-click-a-usercontrols-child-in-design ...