博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YTU 2901: G-险恶逃生II
阅读量:5240 次
发布时间:2019-06-14

本文共 3811 字,大约阅读时间需要 12 分钟。

2901: G-险恶逃生II

时间限制: 1 Sec  
内存限制: 128 MB
提交: 44  
解决: 14

题目描述

    SOS!!!koha is trapped in the dangerous maze.He need your help again.
    The maze is a 2D grid consisting of n rows and m columns. Each cell in the maze may have a stone or may
be occupied by zero or more monsters. The cell that has a stone Koha(including the monsters) cannot enter. Only one of the cells is designated as the exit cell.
    Kona,including the monsters may move in the maze.In a single move,each of them may perform one of the Following actions:
    1. do nothing
    2. move from the current cell to one of the four adjacent cells.
    3. if Koha is located on the exit cell, he may leave the maze. Only he can perform this move — all Monsters will never leave the maze by using this type of movement.
    After each time Kona makes a single move,each of the monsters simultaneously make a single move ,however the choice of which move to make may be different for each of the monsters.
 
    If koha and x(x>0) monsters are located on the same cell, exactly x monsters will ensue that time(since he will be battling each of those x breeders once).After the battle, all of those x monsters will be killed.
    Now,Koha would like to leave the maze,however the monsters will all know his exact sequence of moves even before he makes his first move.All of them will move in such way that will guarentee a monster battle with Koha,if possible. The monsters that couldn't battle him will do nothing.
 
    All right.Your task is to print the mininum number of monster battles that kona must participates in,note that you are not required to minimize the number of moves kona makes.

输入

For each case,the first line consists of two integes: n and m(1<=n,m<=1000),denoting the number of rows and the number of columns in the maze.the next n rows will echo depict a row of the map,where each character represents the content of a single cell:
'T':A cell occupied by a stone.
'S':An empty cell,and Kona's starting position.
'E':An empty cell,and where the exit is located.
A digit(0-9): A cell represented by a digit x means that the cell is empty and is occupied by x monsters(if x is zero,it means the cell is not occupied by any monsters).
 
It is guaranteed that it will be possible for Kona to leave the maze.

输出

For each case,ouput a single line denoted the mininum possible number of monster battles that koha has to participate in if you pick a strategy that minimize this number.

样例输入

5 7000E0T3T0TT0T0010T0T02T0T0T00T0S0001 4SE23

样例输出

32

提示

For the second case,kona and the monsters located in (0,2) will reach
the exit cell simultaneously ,so he must kill them.

im0qianqian_站在回忆的河边看着摇晃的渡船终年无声地摆渡,它们就这样安静地画下黄昏画下清晨......
可怜
#include 
#include
#define size 1000using namespace std;char map[1011][1011];int res[1011][1011];int x1,x2,y1,y2,n,m;struct point{ int x,y;} r[size*size+11];int dis[4][2]= {
{1,0},{-1,0},{0,1},{0,-1}};int main(){ void dfs(); int i,j; int num,max=0; while(cin>>m>>n) { for(i=0; i<=n+1; i++) map[0][i]=map[m+1][i]='T'; for(i=0; i<=m+1; i++) map[i][0]=map[i][n+1]='T'; for(i=1; i<=m; i++) for(j=1; j<=n; j++) { cin>>map[i][j]; if(map[i][j]=='E') { x1=i; y1=j; } if(map[i][j]=='S') { x2=i; y2=j; } } dfs(); num=res[x2][y2]; max=0; for(i=1; i<=m; i++) for(j=1; j<=n; j++) if(map[i][j]>'0'&&map[i][j]<='9') if(res[i][j]<=num&&res[i][j]!=-1) max+=map[i][j]-'0'; cout<
<

转载于:https://www.cnblogs.com/im0qianqian/p/5989668.html

你可能感兴趣的文章
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
全连接神经网络(DNN)
查看>>
httpd_Vhosts文件的配置
查看>>
php学习笔记
查看>>
普通求素数和线性筛素数
查看>>
React Router 4.0 基本使用
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
CDN 学习笔记
查看>>
电子眼抓拍大解密
查看>>