我们可以枚举每个点,然后求出这个点到其余点最小消耗的代价,求出比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. 2014 Super Training #9 C E - Cup 2 --记忆化搜索

    原题:ZOJ 3681 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3681 题意:给一个m,n,m表示m个人,可以把m个 ...

  2. HDU 1251 统计难题

    字典树又一基本题 代码: #include <iostream> #include <cstdio> #include <cstring> #include < ...

  3. POJ 3321 Apple Tree

    树状数组. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cm ...

  4. Spring 一二事(1)

    简单介绍一下spring,一方面带新手入入门,一方面自己也重温一下第一个小工厂先暂时不用maven,下一个会用maven来来配置 jar包只需要一个,spring版本为2.5(暂时为2.5,后续更新, ...

  5. Spring 中注入 properties 中的值

    <bean id="ckcPlaceholderProperties" class="org.springframework.beans.factory.confi ...

  6. MVC4 WebAPI POST数据问题

    api [HttpPost] public string PostAvartos(Test model) { if (model != null) { LoggerHelper.WriteInfo(m ...

  7. Linux 结束进程

    一个进程由于以下5个原因中的一个终止 --main函数调用return; --调用exit函数--C语言库函数: --调用_exit函数--系统调用 --调用abort函数 --被一个信号终止.(ki ...

  8. C++的CreateThread实例

    function CreateThread(  lpThreadAttributes: Pointer;           {安全设置}  dwStackSize: DWORD;           ...

  9. Toolbar的使用

    项目来源: https://github.com/xuwj/ToolbarDemo#userconsent# 一.V7包升级问题 折腾好久,终于解决 <style name="AppT ...

  10. 测试驱动开发实践 - Test-Driven Development(转)

    一.前言 不知道大家有没听过“测试先行的开发”这一说法,作为一种开发实践,在过去进行开发时,一般是先开发用户界面或者是类,然后再在此基础上编写测试. 但在TDD中,首先是进行测试用例的编写,然后再进行 ...