一道宽搜模版题,可写错了两个地方的我只得了56(掩面痛哭)

http://10.37.2.111/problem.php?id=1345

先看看正确的

#include <bits/stdc++.h>
#define read read()
#define up(i,l,r) for(int i = l; i<=r; i++)
using namespace std;

int read
{
    ; char ch = getchar();
     || ch > )  ch = getchar();
     && ch <= ) {x =  * x + ch - ; ch = getchar();}
    return x;
}

;

int n,m,k;
int sx,sy,ex,ey;
int ans = INT_MAX;
,,-, ,};//上,下,左,右;
,, ,-,};
struct node{int x,y,step;}st;
int th[N][N],vis[N][N];
int nx,ny;

void updata(int i,int p)
{
    ) (nx += p) > n ?nx = n : nx;     //上
    ) (nx -= p) <  ?nx =  : nx;//下
    ) (ny -= p) <  ?ny =  : ny;//左
    ) (ny += p) > m ?ny = m : ny;//右
}

void bfs()
{
    queue<node>q;
    st.step = ;
    st.x = sx;
    st.y = sy;
    q.push(st);
    vis[sx][sy]=;
    while(!q.empty())
    {
        node cur = q.front(); q.pop();
        );}
        up(i,,)
        {
            nx = cur.x + dx[i];
            ny = cur.y + dy[i];
|| ny <  || nx > n || ny > m || vis[nx][ny]) continue;
            vis[nx][ny] = ;
            node nxt; nxt.x = nx; nxt.y = ny; nxt.step = cur.step + ;
            q.push(nxt);
        }
    }
    printf("Impossible");
}

int main()
{
    freopen("hero2.in","r",stdin);
    n = read; m = read; k = read;
    int x,y;
    ;
    up(i,,k)
    {
        x = read; y = read; th[x][y] = read;
    }
    sx = read; sy = read;
    ex = read; ey = read;
    bfs();
}

错误1:代码笔误;

void updata(int i,int p)
{
    ) (nx += p) > n ?n : nx;     //上
    ) (nx -= p) <  ? : nx;//下
    ) (ny -= p) <  ? : ny;//左
    ) (ny += p) > m ?m : ny;//右
}

看出什么了吗? -> 忘了赋值了;

错误2:思维漏洞;

if(th[nx][ny]) updata(i,th[nx][ny]);

弹簧可以连续跳啊连续跳 -> 所以要多次更新

记住教训啊;

MZOJ 1345 hero的更多相关文章

  1. H5游戏开发之Stick Hero

    自从上次发布一个小恐龙游戏以后,到现在10天了,前后又写了3个游戏,挑了一个感觉比较有挑战的游戏和大家分享一下. 效果演示 这是我模拟一个苹果游戏<stick hero>游戏写的一个小游戏 ...

  2. BZOJ 1191 超级英雄 Hero 题解

    BZOJ 1191 超级英雄 Hero 题解 Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金 ...

  3. 2016HUAS暑假集训训练2 K - Hero

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/K 这也是一道贪心题,刚开始写时以为只要对每一敌人的攻击和血的乘积进行从小到大排序即 ...

  4. 【入门】匈牙利算法+HNOI2006 hero超级英雄

    一.关于匈牙利算法 匈牙利算法是由匈牙利数学家Edmonds提出的,用增广路径求二分图最大匹配的算法. 听起来高端,其实说白了就是: 假设不存在单相思(单身狗偷偷抹眼泪),在一个同性恋不合法的国家里( ...

  5. 2016HUAS_ACM暑假集训2K - Hero(英雄)

    这也属于一个贪心题.关键是排序的依据. 这题排序的依据是敌人的伤害/血量(DPS/HP),不难证明,当这个比值相同时,不论先解决谁效果是相同的.思路大部分在注释里. 题目大意: 假设你的血量无限,但是 ...

  6. bzoj 1191: [HNOI2006]超级英雄Hero

    1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MB 二分图匹配... Description 现在电视台有一种节目叫做超 ...

  7. HDU 4901 The Romantic Hero

    The Romantic Hero Time Limit: 3000MS   Memory Limit: 131072KB   64bit IO Format: %I64d & %I64u D ...

  8. HDU4901 The Romantic Hero 计数DP

    2014多校4的1005 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4901 The Romantic Hero Time Limit: 6000/30 ...

  9. HDU 4310 Hero (贪心算法)

    A - Hero Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

随机推荐

  1. empty 与 remove 的区别

    empty()移除指定元素中的所有子节点,拿$("p").empty()来说,他只是把<p>dsfsd</p>中的文本给移除了,而留下 了<p> ...

  2. Jenkins-cli基本用法

    基本的格式为 java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args] 下面具体介绍各个命令的作用及基本使用方法 1.    ...

  3. HDU-1257.最少拦截系统(基础DP)

    本题大意:给出n和n个整数,让你求出其中不上升子序列的个数. 本题思路:用dp[ i ]保存第i个防御系统攻击的最低的导弹,遍历数组,遇到更低的导弹则更新最小值,否则新加一个系统用来防御,并且更新最小 ...

  4. NYOJ-1058 DFS部分求和

    原题链接 本题思路:暴力深搜,具体见代码. #include <iostream> #include <stack> using namespace std; + ; int ...

  5. c# 文件过大时清空原有内容重新写入

    FileStream fs = new FileStream("E:\\Test\\HistoryData.txt", FileMode.Append, FileAccess.Wr ...

  6. Cisco ASR1002-X告警处理

    客户反馈其机房的ASR100X告警,拍照如下图: 处理步骤: 查看日志未发现异常 查看CPU/内存/风扇未发现异常 3.清除告警#clear facility alarm依旧告警 4.shutdown ...

  7. JS判断变量类型

    typeof v 只能用于识别基础类型,不能识别对象 v instanceof MyClass 判断类型 Object.prototype.toString.call(v.p) === "[ ...

  8. 关于gcc、make和CMake的区别

    CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多.CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要 ...

  9. 使用HttpClient 传送form 表单的请求

    在项目中用到了,需要使用HttpClient 进行模拟表单传送form 表单的需求,在平常的项目中,大概都是传送json串的样式需求,但是如何才能给对应的服务器传送一个form 表单呢? 这就需要了N ...

  10. JFinal Web开发学习(六)验证码验证和注册细节

    效果: 实现了注册界面的验证码验证.确认密码.密码md5加盐加密.C3P0插件数据库操作.读取外部配置文件. 1.在注册页面添加了确认密码输入框,修改了字段名称 <!DOCTYPE html&g ...