洛谷——P2083 找人
P2083 找人
题目背景
无
题目描述
小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间。那个单元有N层(1,2……N),每层有M(1,2……M)个房间。
小明会从第一层的某个房间开始找,他找的方式也很特别,每次到了一个房间,如果不是他的同学,他就会询问这人,
然后他就会去那人告诉他的房间号,如果还不是,他就会继续按这个方法找下去,直到找到。当然,他也有可能找不到同学。他的体力也是有限的,他每爬一层楼梯就会消耗V体力值。你的任务就是求找到同学耗费的最少体力值,如果找不到,就输出impossible 。
输入输出格式
输入格式:
共N+1行。
第一行,N,M,V,X,Y(X,Y表示同学只在X层Y房间)
2~N+1行,每行M*2个数字,第i+1行j*2-1个数Ak和j*2个数Ak+1表示住在i层j房间的人提供的信息是Ak层和Ak+1房间。(同学的信息就是自己的房间号)
输出格式:
一个数,即答案。
输入输出样例
说明
N<=1000,M<=100,V<=50
dfs、、、
zz啊、、由于本题是求最小值,因此在返回的时候不能返回-1!!!(才开始用-1判断出现环的情况,老是挂、、)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1010
#define maxn 1000000
using namespace std;
int n,m,v,xx,yy,ans;
int read()
{
,f=; char ch=getchar();
;ch=getchar();}
+ch-',ch=getchar();
return x*f;
}
struct Node
{
int x,y;
}node[N][N];
int dfs(int x,int y,int s,int sum)
{
if(x==xx&&y==yy) return s;
if(sum>n*m) return maxn;
dfs(node[x][y].x,node[x][y].y,s+abs(node[x][y].x-x),sum+);
}
int main()
{
ans=maxn;
n=read(),m=read(),v=read(),xx=read(),yy=read();
;i<=n;i++)
;j<=m;j++)
node[i][j].x=read(),node[i][j].y=read();
;i<=m;i++)
ans=min(ans,dfs(,i,,));
if(ans==maxn) printf("impossible");
else printf("%d",ans*v);
;
}
洛谷——P2083 找人的更多相关文章
- 洛谷 P2083 找人
P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...
- 洛谷 P1858 多人背包 DP
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 题面 题目链接 洛谷 P1858 多人背包 题目描述 求01背包前k优解的价值 ...
- [洛谷P1858] 多人背包
洛谷题目链接:多人背包 题目描述 求01背包前k优解的价值和 输入输出格式 输入格式: 第一行三个数K.V.N 接下来每行两个数,表示体积和价值 输出格式: 前k优解的价值和 输入输出样例 输入样例# ...
- 洛谷 P1509 找啊找啊找GF
题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这 ...
- 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
传送门 题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sq ...
- 洛谷 P1858 多人背包 解题报告
P1858 多人背包 题目描述 求01背包前k优解的价值和 输入输出格式 输入格式: 第一行三个数\(K\).\(V\).\(N\) 接下来每行两个数,表示体积和价值 输出格式: 前k优解的价值和 说 ...
- 洛谷——P1469 找筷子
P1469 找筷子 题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘 ...
- 洛谷P1469找筷子
题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...
- 洛谷 P1469 找筷子
题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...
随机推荐
- Javascript实现返回上一页面并刷新
今天写了一个小小的提示成功的页面,同时要求返回上一页面,并实现对上一页面的操作进行刷新(例如删除的,添加的),在网上搜寻了一遍,基本上90%的都是说的是用window.history.go(-1), ...
- JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!三种方法!
web开发的时候有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码! 方法一: <script type="text/jav ...
- 【Foreign】tty的方程math [数学]
tty的方程math Time Limit: 50 Sec Memory Limit: 128 MB Description 给定n.m.k.p. a+b+c=n, a^2+b^2+c^2=m, a ...
- Python概念-Attr系列(林海峰教的)
这个Attr系列是egon老师自创的,个人还是可以接受这种文化底蕴的,所以直接拿来用,也是毫无违和感的 所谓Attr系列,其实是__setattr__,__delattr__,__getattr__ ...
- ORA-00906 missing left parenthesis括号
Oracle 建表报错:ORA-00906 missing left parenthesis括号 建表语句:create table test(id char,name varchar(1),s ...
- CentOS7.3下的一个iptables配置
centos7.3默认使用的防火墙应该是firewall,而不是iptables.而我们xxmj服务器使用的是iptables防火墙.所以,在配置防火墙之前,我们需要先关闭firewall,安装ipt ...
- LINUX vim 修改文件 退出
vim 保存退出, 先按ESC ,然后:wq(保存退出)W:write,写入 Q:quit,退出, 也可以直接输入X,代表WQ,也是保存退出 或者 先按ESC,再按shift+ZZ 也是保存退出 正常 ...
- ip_local_deliver && ip_local_deliver_finish
当ip包收上来,查路由,发现是发往本地的数据包时,会调用ip_local_deliver函数: ip_local_deliver中对ip分片进行重组,经过LOCAL_IN钩子点,然后调用ip_loca ...
- 数据结构之线性表(python版)
数据结构之线性表(python版) 单链表 1.1 定义表节点 # 定义表节点 class LNode(): def __init__(self,elem,next = None): self.el ...
- python面向对象(五)之多态
继承 在讲多态之前我们再复习下继承,下面是一个例子. Circle 和 Rectangle 继承自 Shape,不同的图形,面积(area)计算方式不同. # shape.py class S ...