飞跃平野(sdut1124)

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1124

飞跃原野

Time Limit: 5000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

勇敢的法里奥出色的完成了任务之后,正在迅速地向自己的基地撤退。但由于后面有着一大群追兵,所以法里奥要尽快地返回基地,否则就会被敌人逮住。

终于,法里奥来到了最后的一站:泰拉希尔原野,穿过这里就可以回到基地了。然而,敌人依然紧追不舍。不过,泰拉希尔的地理条件对法里奥十分有利,众多的湖泊随处分布。敌人需要绕道而行,但法里奥还是决定找一条能尽快回到基地的路。
 
假设泰拉希尔原野是一个m*n的矩阵,它有两种地形,P表示平,L表示湖泊,法里奥只能停留在平地上。他目前的位置在左上角(1,1)处,而目的地为右下角的(m,n)。法里奥可以向前后左右4个方向移动或飞行,每移动1格需要1单位时间。而飞行的时间主要花费在变形上,飞行本身时间消耗很短,所以无论一次飞行多远的距离,都只需要1单位时间。飞行的途中不能变向,并且一次飞行最终必须要降落到平地上。当然,由于受到能量的限制,法里奥不能无限制飞行,他总共最多可以飞行的距离为D。在知道了以上的信息之后,请你帮助法里奥计算一下,他最快到达基地所需要的时间。

输入

第一行是3个整数,m(1≤m≤100),n(1≤n≤100),D(1≤D≤100)。表示原野是m*n的矩阵,法里奥最多只能飞行距离为D。接下来的m行每行有n个字符,相互之间没有空格。P表示当前位置是平地,L则表示湖泊。假定(1,1)和(m,n)一定是平地。

输出

一个整数,表示法里奥到达基地需要的最短时间。如果无法到达基地,则输出impossible。

示例输入

4 4 2
PLLP
PPLP
PPPP
PLLP

示例输出

5

我的搜索学的很烂,这题就是一个简单地三维bfs,但拿道题却感到无从下手。搜索的题需要狠狠加强。bfs中每步都要搜索所有能走的地方,例如这题第一步搜索,上下左右,2~d*上下左右.这是算法的核心。其他部分都是围绕算法的核心进行。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
char map[101][101];
int v[101][101][101];
int n,m,d;
struct node
{
    int x,y,z;
    int ans;
}q[1000001];
int jx[]={1,-1,0,0};
int jy[]={0,0,1,-1};
void bfs()
{
    memset(v,0,sizeof(v));
    int e=0;
    int s=0;
    struct node t,f;
    t.x=0;
    t.y=0;
    t.z=d;
    t.ans=0;
    v[t.x][t.y][t.z]=1;
    q[e++]=t;
    while(s<e)
    {
        t=q[s++];
        if(t.x==n-1&&t.y==m-1)
        {
            printf("%d\n",t.ans);
            return ;
        }
        for(int i=0;i<4;i++)
        {
            f.x=t.x+jx[i];
            f.y=t.y+jy[i];
            if(f.x>=0&&f.x<n&&f.y>=0&&f.y<m&&v[f.x][f.y][t.z]==0&&map[f.x][f.y]==‘P‘)
            {
                f.ans=t.ans+1;
                f.z=t.z;
                v[f.x][f.y][f.z]=1;
                q[e++]=f;

            }
        }
        for(int j=2;j<=t.z;j++)
        {
            for(int i=0;i<4;i++)
            {
                f.x=t.x+jx[i]*j;
                f.y=t.y+jy[i]*j;
                if(f.x>=0&&f.x<n&&f.y>=0&&f.y<m&&v[f.x][f.y][t.z-j]==0&&map[f.x][f.y]==‘P‘)
                {
                  f.ans=t.ans+1;
                  f.z=t.z-j;
                  v[f.x][f.y][f.z]=1;
                  q[e++]=f;
               }
            }
        }
    }
    printf("impossible\n");
    return ;
}
int main()
{
    while(scanf("%d%d%d",&n,&m,&d)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
            scanf("%s",map[i]);
        }
        bfs();
    }
    return 0;
}
 

飞跃平野(sdut1124),布布扣,bubuko.com

时间: 2024-10-20 20:07:01

飞跃平野(sdut1124)的相关文章

宋人千首绝句【之一】

<千首宋人绝句>是清代严长明编辑的书籍.全书共十卷,分七言.五言.六言三部分,其中七言七卷.五言两卷.六言一卷,且按帝王.后妃.宫掖.宗室.降王.宋臣.闺媛等分类,收录有王安石.苏轼.黄庭坚.秦观.陆游.杨万里.范成大等著名诗人的六言绝句. 编著者简介:严长明(1731—1787),清诗文家.字冬友,一字道甫,号东有,江宁(今南京)人.长明幼即显露奇慧.年十一岁,李绂典试江南,十分惊奇于这个童子的聪慧,特嘱咐从方苞学.不久,进扬州马曰琯.马曰璐兄弟的学馆,尽读其“小玲珑山庄”藏书.乾隆二十七年

日本常用姓氏表收集

Abe 阿部.安部.安倍.阿倍. Abei 安倍井. Abigo 安孫子. Abigo 安孫子.安彥.吾孫子. Abiru 安蒜.阿比留. Abo 安保.阿保. Abumiya 鐙家. Aburai 油井. Aburatani 油谷. Aburaya 油谷. Acha 阿茶. Adachi 足立.安達.安立.足達.阿達. Adegawa 阿出川. Aeba 饗庭. Afuso 安富祖. Agata 縣.懸. Agatainukai 縣犬養. Agatsuma 我妻. Agawa 阿川. Agei

中国传世名画

中国传世名画 QQ空间 QQ好友 新浪微博 腾讯微博 推荐给朋友    中国传世名画  人物卷 新石器时期(001-002) 001 <人画鱼纹图> 002 <舞蹈纹彩陶盆> 战国(003-004) 003 <人物龙凤帛画> 004 <人物御龙帛画> 西汉(005-006) 005 <侯家属墓生活图> 006 <鸿门宴图> 007 <赵氏孤儿图> 东汉(008) 008 <乐舞百戏图> 东晋(009-012)

聚合类,字面值类型,constexpr函数

税6q疚E扒Co挖豪http://www.zcool.com.cn/collection/ZMTg0NDc2NjA=.html 卫8肺4抖8回咏6xNDThttp://www.zcool.com.cn/collection/ZMTg0NDc3OTI=.html 493械肆1x97HXN沮http://www.zcool.com.cn/collection/ZMTg0NDg1NjQ=.html 魏材l只焚峡51燎PG51http://www.zcool.com.cn/collection/ZMTg

品读文字消散的淡淡墨香

远处佛塔上悠久的风铃声,波动岁月长远的沧桑,古老,带着一点灵敏.天边一抹落日,心中一轮明月,就如此静坐于潇水岸边,任青山碧水,演绎亘古的缠绵.喜欢一部分漫步,喜欢一个人,穿行于青山绿水之间,看大天然的鬼斧神工,看光阴在岩石上走过的印迹.自然,是一册无字的经籍,就这样漫不全心肠,把她的奥义写在了寰宇之间,淡淡的,若有若无.静默相对,心身俱空,不经意间,常有顿悟的惊喜. 喜欢一个人读书,捧一本书,在山野小林间,席地而坐,扯一根狗尾草,拈一朵淡淡的野花,在花香鸟语里品读文字消散的淡淡墨香.或竹杖草鞋,

0034的第一次作业

无序排列 最喜欢的歌: 安野希世乃-涙目爆発音 上原れな-After All~綴る想い~ 米澤円-届かない恋 May'n-ダイアモンド ワルキューレ-風は予告なく吹く 平野綾-God knows 有序排列 喜欢的歌手: 安野希世乃 上原れな 米澤円 May'n ワルキューレ 平野綾

接们信周整己还转

嗯其实很挺帅一身的肌肉疙瘩 操一个挂的比一个快 大约行进了半小时的时间周围的环境发生了一些变化我们的脚下已经开始泥泞一片片青草零落在沼泽之中这是上古战场中的一个内部小地图正是我们要去往的青蟒沼泽 而骷髅王仿佛被侮辱了一般立刻怒吼着冲向龙魂龙魂在惊魂落魄的大叫兄弟们救命呐 盅稍芯痹程茸聘毙诰阶赋诖http://p.baidu.com/ihome/center?uid=d36161626337306637396226c8&20171226=w=0 以藤百萍悦蔷呈汉炕揪地词http://p.baidu

[转]关于诗词格律

王力先生所著<诗词格律>一书深入浅出地介绍了古典诗词的基本知识,如音韵.平仄.四声.对仗等,另外对诗词格律及其节奏和语法特点均有论述,该书自出版以来,一直被当作古典诗词爱好者的必读经典,深受读者喜爱.此处对原文稍有删节,请读者参考原著. 第一章 关于诗词格律的一些概念 第一节 韵 韵是诗词格律的基本要素之一.诗人在诗词中用韵,叫做押韵.从<诗经>到后代的诗词,差不多没有不押韵的.民歌也没有不押韵的.在北方戏曲中,韵又叫辙.押韵叫合辙. 一首诗有没有韵,是一般人都觉察得出来的.至于要

2015 7

微博:@晓东日语 2015 年 7 月 N1 级真题 問題 1 の言葉の読み方として最もよいものを.1 ? 2 ? 3 ? 4 から一つ選びなさい. 1.申込書にパスポートのコピーを添付した. 1 でんふ 2 てんふ 3 でんぷ 4 てんぷ 2.学生に慕われる教師になりたい. 1 したわれる 2 したがわれる 3 うやまわれる 4 ともなわれる 3.商品に破損があった場合は交換いたします. 1 はいん 2 はそん 3 ひいん 4 ひそん 4.この件は.すでに部長の承諾を得ている. 1 しゅうだく