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房间。(同学的信息就是自己的房间号)

输出格式:

一个数,即答案。

输入输出样例

输入样例#1: 复制

3 3 2 2 3
1 3 3 3 2 1
2 3 1 1 2 3
1 1 1 2 2 3

输出样例#1: 复制

2

说明

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()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',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+1);
}
int main()
{ans=maxn;n=read(),m=read(),v=read(),xx=read(),yy=read();for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)node[i][j].x=read(),node[i][j].y=read();for(int i=1;i<=m;i++) ans=min(ans,dfs(1,i,0,0));if(ans==maxn) printf("impossible");else printf("%d",ans*v);return 0;
}

转载于:https://www.cnblogs.com/z360/p/8231481.html

洛谷——P2083 找人相关推荐

  1. 洛谷 1858 多人背包

    https://www.luogu.org/problem/show?pid=1858 题目描述 DD 和好朋友们要去爬山啦!他们一共有 K 个人,每个人都会背一个包.这些包的容量是相同的,都是 V. ...

  2. 洛谷 P1469 找筷子

    题目描述 经过一段时间的紧张筹备,电脑小组的"RP餐厅"终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘 ...

  3. 洛谷P2296-寻找道路【日常图论,最短路,SPFA】

    题目 一个有向图,要求满足要求的最短路径,要求为: 路径上的所有点的出边所指向的点都直接或间接与终点连通. 输入1 3 2 (3个点,2条边) 1 2 (1和2之间可以连接) 2 1 1 3 (从1到 ...

  4. 洛谷P1938 找工就业

    传送门啦 这个题本质就是跑一边最长路,重点就是在怎么建图上. 我们可以把点权放到边权上面,即将每一个边的终点点权当做这个边的边权,这个题里就是将工钱 $ d $ 当做边权. 如果这一条边需要坐飞机才能 ...

  5. 洛谷P1509 找啊找啊找G——教你如何花尽量少的时间泡更多的妹子

    一.题目描述 https://www.luogu.com.cn/problem/P1509 感觉题目挺好意思的,泡妹子需要花费 钱和人品还有时间,所以你需要在钱和人品一定的情况下,尽可能花费时间最少, ...

  6. 洛谷 深基 第4部分 基础数学与数论(19-21课)

    洛谷 深基 第4部分 基础数学与数论  第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...

  7. [洛谷P3181] [HAOI2016]找相同字符

    洛谷题目链接:[HAOI2016]找相同字符 题目描述 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两个子串中有一个位置不同. 输入输出格式 输入 ...

  8. 洛谷P3412 仓鼠找$Sugar\ II$题解(期望+统计论?)

    洛谷P3412 仓鼠找\(Sugar\ II\)题解(期望+统计论?) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327573 原题链接:洛谷P3412 ...

  9. 【题解】洛谷 P8874 [传智杯 #5 初赛] F-二人的大富翁游戏

    洛谷 P8874 [传智杯 #5 初赛] F-二人的大富翁游戏 题目链接 大模拟,模拟就完事了 数组的解释 题目中的坐标为1到n,为了方便取模操作我们使用0到n-1 c [ i ] [ j ] c[i ...

最新文章

  1. WinForm界面开发之“HTML内容编辑控件”
  2. 适合写python的电脑_这篇写给想选计算机专业的学弟学妹们
  3. java util concurrent_Error: java.util.concurrent.Execution
  4. paip. 内存占用少的php ide选择评测总结
  5. [C++STL]list容器用法介绍
  6. linux virt java_Linux下Java环境安装
  7. 支持串行隔离级别_从0到1理解数据库事务(上):并发问题与隔离级别
  8. SQL Server2008 用编写脚本自动生成的Sql语言出现 “列名显示无效 ”错误
  9. opc 多点位一次性读_如何使用Excel通过OPC访问WinCC的实时数据
  10. MeshLab编译理解
  11. Andoid游戏【真情表白】让你心爱的人在游戏中感受真情!
  12. 【elasticsearch】安装合集
  13. php中表格的高度怎么改,ppt表格行高调整不了怎么办
  14. 重复一下:关于Flash停止支持后Chrome如何启用过期插件
  15. 【点宽专栏】模型投资的风险和矛盾
  16. 2022陕西清北录取人数排名,西工大附中遥遥领先,高新一中40人
  17. python英文词云代码_Python 词云 【中/英】小白简单入门教程
  18. 我在阿里做测试这5年总结的7条生存经验。
  19. 网络安全学习记录-9
  20. 基于Java实现的潜艇大战游戏

热门文章

  1. android中可以使用bitmap的平铺,镜像平铺等减小图片带来的apk过大的问题
  2. Vim as Python IDE on windows(转)
  3. Chrome 的又一个bug?
  4. 国内小程序生态服务平台即速应用完成5000万元A+轮融资
  5. 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示
  6. 信息安全与硬盘数据销毁
  7. readonly 和 disable的区别
  8. NASM汇编程序中的宏定义
  9. PHP+jQuery+Ajax实现用户登录与退出
  10. 实践自定义UI-ViewGroup