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

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

#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. 如何在github的README.md中添加图片

    如何在github的README.md中添加图片 总结: 链接引用:![Image text](图片的链接地址) 简介: 1.在github上的仓库建立一个存放图片的文件夹,文件夹名字随意.如:img ...

  2. sql的系统关键字的概述

    create proc proc_B as SELECT * FROM [ZkbTest].[dbo].[T_ZKB] exec sp_helptext proc_B select * from sy ...

  3. WebSocket handshake: Unexpected response code: 404

    在执行    http://www.cnblogs.com/best/p/5695570.html  提供的 websocket时候, 报错了 “WebSocket handshake: Unexpe ...

  4. 3065: 带插入区间K小值_树套树_替罪羊树_权值线段树

    经过周六一天,周一3个小时的晚自习,周二2个小时的疯狂debug,终于凭借自己切掉了这道树套树题. Code: #include <cstdio> #include <algorit ...

  5. NodeJS学习笔记 (32)安全加密-tls

    https://github.com/chyingp/nodejs-learning-guide

  6. apache(XAMPP)禁止IP访问的httpd-vhosts.conf设置

    httpd-vhosts.conf <virtualhost *:80> ServerName 123.123.123.123   ServerAlias 123.123.123.123  ...

  7. caioj 1074 动态规划入门(中链式1:最小交换合并问题)

    经典的石子合并问题!!! 设f[i][j]为从i到j的最大值 然后我们先枚举区间大小,然后枚举起点终点来更新 f[i][j] = min(f[i][k] + f[k+1][j] + sum(i, j) ...

  8. [CQOI2013]新Nim游戏(线性基)

    P4301 [CQOI2013]新Nim游戏 题目描述 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴. ...

  9. linux学习之高并发服务器篇(二)

    高并发服务器 1.线程池并发服务器 两种模型: 预先创建阻塞于accept多线程,使用互斥锁上锁保护accept(减少了每次创建线程的开销) 预先创建多线程,由主线程调用accept 线程池 3.多路 ...

  10. 洛谷—— P1036 选数 || Vijos——选数

    https://vijos.org/p/1128|| https://www.luogu.org/problem/show?pid=1036#sub 描述 已知 n 个整数 x1,x2,…,xn,以及 ...