zoukankan      html  css  js  c++  java
  • 【HPU】[1689]MZY寻宝

    这里写图片描述

    无聊灌灌水
    这个亮点一些的是用两个数组
    达到了以循环来代替了多次地分开写

    #include<stdio.h>
    int inf=9999999;
    int map[12][12];
    int dis[12][12];
    int N,M;
    int mn,mm,en,em;
    int getn[4]= {0,0,-1,1};
    int getm[4]= {-1,1,0,0};
    void dfs(int n,int m) {
        for(int i=0; i<4; i++)
            if(n+getn[i]<M&&n+getn[i]>=0&&m+getm[i]<M&&m+getm[i]>=0&&map[n+getn[i]][m+getm[i]]!=1&&dis[n+getn[i]][m+getm[i]]>dis[n][m]+1) {
                dis[n+getn[i]][m+getm[i]]=dis[n][m]+1;
                dfs(n+getn[i],m+getm[i]);
            }
        return ;
    }
    int main() {
        while(scanf("%d %d",&N,&M)!=EOF) {
            for(int i=0; i<N; i++)
                for(int j=0; j<M; j++) {
                    scanf("%d",&map[i][j]);
                    dis[i][j]=inf;
                    if(map[i][j]==2) {
                        mn=i;
                        mm=j;
                        dis[i][j]=0;
                    } else if(map[i][j]==3) {
                        en=i;
                        em=j;
                    }
                }
            dfs(mn,mm);
            printf("%d
    ",dis[en][em]*60);
        }
        return 0;
    }
    

    题目地址:【HPU】[1689]MZY寻宝

  • 相关阅读:
    第1章 数据结构绪论
    收集的名言警句
    Asp.net MVC知识积累
    我的书单
    ASP.NET Web API
    贱人语录
    正则表达式入门
    Lucene 3.0
    Solr之java操作
    Elasticsearch
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569623.html
Copyright © 2011-2022 走看看