我们可以枚举每个点,然后求出这个点到其余点最小消耗的代价,求出比t小的且距离最大的更新答案。

/**************************************************************
Problem: 1295
User: BLADEVIL
Language: C++
Result: Accepted
Time:4572 ms
Memory:3944 kb
****************************************************************/ //By BLADEVIL
#include <cmath>
#include <cstdio>
#include <cstring>
#define maxn 400 using namespace std; int n,m,T;
char s[maxn];
int map[maxn][maxn],quex[maxn*maxn],quey[maxn*maxn],dis[maxn][maxn],flag[maxn][maxn];
int go[][];
double ans; double max(double a,double b) {
if (a>b) return a; else return b;
} int main() {
go[][]=go[][]=-; go[][]=go[][]=;
scanf("%d%d%d",&n,&m,&T);
for (int i=;i<=n;i++) {
scanf("%s",s+);
for (int j=;j<=m;j++) map[i][j]=s[j]!=''?:;
}
for (int i=;i<=n;i++)
for (int j=;j<=m;j++) {
memset(dis,,sizeof dis);
memset(flag,,sizeof flag);
quex[]=i; quey[]=j; dis[i][j]=(map[i][j]==);
int h(),t();
while (h<t) {
h=(h%)+;
int curx(quex[h]),cury(quey[h]);
flag[curx][cury]=;
for (int k=;k<=;k++) {
int nx(curx+go[k][]),ny(cury+go[k][]);
if ((nx<)||(nx>n)||(ny<)||(ny>m)) continue;
if (dis[curx][cury]+(map[nx][ny]==)<dis[nx][ny]) {
dis[nx][ny]=dis[curx][cury]+(map[nx][ny]==);
if (!flag[nx][ny]) {
t=(t%)+;
quex[t]=nx; quey[t]=ny;
flag[nx][ny]=;
}
}
}
}
for (int ii=;ii<=n;ii++)
for (int jj=;jj<=m;jj++) if (dis[ii][jj]<=T) ans=max(ans,(ii-i)*(ii-i)+(jj-j)*(jj-j));
}
ans=sqrt(ans);
printf("%.6f\n",ans);
return ;
}

bzoj 1493 暴力的更多相关文章

  1. bzoj 1028 暴力枚举判断

    昨天梦到这道题了,所以一定要A掉(其实梦到了3道,有两道记不清了) 暴力枚举等的是哪张牌,将是哪张牌,然后贪心的判断就行了. 对于一个状态判断是否为胡牌,1-n扫一遍,然后对于每个牌,先mod 3, ...

  2. bzoj 1493: [NOI2007]项链工厂(线段树)

    1493: [NOI2007]项链工厂 Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 1256  Solved: 545[Submit][Status] ...

  3. bzoj 2073 暴力

    2073: [POI2004]PRZ Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 442  Solved: 327[Submit][Status][D ...

  4. bzoj 3620 暴力KMP

    十分暴力的KMP,枚举左端点,在向右侧推进的同时,取较小的la保证条件,n方暴力 #include<bits/stdc++.h> #define rep(i,j,k) for(int i= ...

  5. bzoj 3916 暴力哈希

    暴力的哈希,注意: 将一个串当作另一个串的前缀,需要乘上p[len],len=后面串的长度 这是自己的代码,拿数据在本地测A掉了,但是bz上wa了??bz换数据了难道?? #include<cs ...

  6. bzoj 1800 暴力枚举

    直接暴力枚举四个点,然后判断是否能组成矩形就行了 注意枚举的点的标号从小到大,保证不重复枚举 /**************************************************** ...

  7. bzoj 3208 暴力

    对于每个操作,直接暴力做就行了,询问的话搜一遍,然后 就这么水过去了. /************************************************************** ...

  8. NOIP 考前 暴力练习

    BZOJ 1028 暴力枚举听的那张牌,和那个多余的两张牌,其余的mod3后模拟就可以了 #include <cstdio> ; int n,m,a[Maxn],b[Maxn],cnt,A ...

  9. 【主席树】 [CQOI2015]任务查询系统

    模板题... 差分,然后用主席树维护时间点上的优先值和就好了 就是细节烦... #include<bits/stdc++.h> #define int long long #define ...

随机推荐

  1. 安全框架 - Shiro与springMVC整合的注解以及JSP标签

    Shiro想必大家都知道了,之前的文章我也有提过,是目前使用率要比spring security都要多的一个权限框架,本身spring自己都在用shiro,之前的文章有兴趣可以去扒一下 最近正好用到s ...

  2. Netty指定分隔的字符

    package org.zln.netty.five.part02; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; ...

  3. SqlDevlepor注册表监听器设置

      1.打开plsqldev.   2. 键入环境变量 NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK   3.下载sqldevclient. http://pa ...

  4. [py]编码 Unicode utf-8

    什么是字符集 在介绍字符集之前,我们先了解下为什么要有字符集.我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那么在这两者之间的转换规则就需要一个统一的标准,否 ...

  5. 线程变量(ThreadLocal)的使用和测试

    ThreadLocal可以定义线程范围的变量,也可以称之为线程局部变量.与一般的变量的区别在于,生命周期是在线程范围内的. 也就是说某个类的某个对象(为清晰描述,以下称A对象)里面有个ThreadLo ...

  6. SpringMvc学习心得(五)控制器产生与构建

    SpringMvc学习心得(五)控制器产生与构建 标签: springspring mvc框架 2016-03-22 15:29 140人阅读 评论(0) 收藏 举报  分类: Spring(4)  ...

  7. SimpleDateFormat非线程安全

    文章列表 1)SimpleDateFormat的线程安全问题与解决方案 2)深入理解Java:SimpleDateFormat安全的时间格式化

  8. [MetaHook] Load DTX texture to OpenGL

    This function load a LithTech *.dtx texture file and convert to OpenGL pixel format, compressed supp ...

  9. 报这个错 unrecognized selector sent to instance

    1.给一个对象赋空值: 2.调不存在的方法:3.数据类型不对.

  10. 20145215《Java程序设计》第7周学习总结

    20145215<Java程序设计>第七周学习总结 教材学习内容总结 Lambda 认识Lambda语法 Lambda语法概述: Arrays的sort()方法可以用来排序,在使用sort ...