hdu2612——Find a way

数据分析—用户行为数据分析 一般价值用户(R高F高M低):用户处于购买活跃期,感兴趣的商品多,购买次数少 → 针对该部分客户,目的就是要让他们购买,所以可以和运营部门沟通,降低利润,给出有力折扣促进购买,进而转为重要价值用户。重要价值用户(R高F高M高)维护:用户处于购买活跃期,感兴趣的商品多,购买次数也多 → 针对兴趣产品,保持一定频率的触达,持续维护。 阅读详情
Problem Description
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.
Yifenfei’s home is at the countryside, but Merceki’s home is in the center of city. So yifenfei made arrangements with Merceki to meet at a KFC. There are many KFC in Ningbo, they want to choose one that let the total time to it be most smallest.
Now give you a Ningbo map, Both yifenfei and Merceki can move up, down ,left, right to the adjacent road by cost 11 minutes.
 

Input
The input contains multiple test cases.
Each test case include, first two integers n, m. (2<=n,m<=200).
Next n lines, each line included m character.
‘Y’ express yifenfei initial position.
‘M’    express Merceki initial position.
‘#’ forbid road;
‘.’ Road.
‘@’ KCF
 

Output
For each test case output the minimum total time that both yifenfei and Merceki to arrival one of KFC.You may sure there is always have a KFC that can let them meet.
 

Sample Input
4 4 Y.#@ .... .#.. @..M 4 4 Y.#@ .... .#.. @#.M 5 5 Y..@. .#... .#... @..M. #...#
 

Sample Output
66 88 66
 

Author


简单的BFS  对两个点bfs就行

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;

int dir[4][2] = { {-1, 0}, {1, 0}, {0, -1}, {0, 1} };
char mat[205][205];
bool vis1[205][205];
bool vis2[205][205];
int ans1[205][205];
int ans2[205][205];

struct node
{
	int x,y;
	int t;
}temp1, temp2;
queue< node >qu;
int n, m;

bool is_legal(int x, int y)
{
  if( x < 0 || x >= n || y < 0 || y >= m || mat[x][y] == '#')
    return false;
  return true;
}

int bfs1(int sx, int sy)
{
	memset( vis1, 0, sizeof(vis1) );
	while( !qu.empty() )
		qu.pop();
	temp1.x = sx;
	temp1.y = sy;
	temp1.t = 0;
	vis1[temp1.x][temp1.y] = 1;
	ans1[temp1.x][temp1.y] = 0;
	qu.push(temp1);
	while( !qu.empty() )
	{
		temp1 = qu.front();
		qu.pop();	
		for(int i = 0; i < 4; i ++)
		{
			temp2.x = temp1.x + dir[i][0];
			temp2.y = temp1.y + dir[i][1];
			if( !is_legal(temp2.x, temp2.y) )
				continue;
			if(vis1[temp2.x][temp2.y] == 1)
				continue;
			vis1[temp2.x][temp2.y] = 1;
			temp2.t = temp1.t + 11;
			ans1[temp2.x][temp2.y] = temp2.t;
			qu.push(temp2);
		}
	}
}

int bfs2(int sx, int sy)
{
	memset( vis2, 0, sizeof(vis1) );
	while( !qu.empty() )
		qu.pop();
	temp1.x = sx;
	temp1.y = sy;
	temp1.t = 0;
	vis2[temp1.x][temp1.y] = 1;
	ans2[temp1.x][temp1.y] = 0;
	qu.push(temp1);
	while( !qu.empty() )
	{
		temp1 = qu.front();
		qu.pop();	
		for(int i = 0; i < 4; i ++)
		{
			temp2.x = temp1.x + dir[i][0];
			temp2.y = temp1.y + dir[i][1];
			if( !is_legal(temp2.x, temp2.y) )
				continue;
			if(vis2[temp2.x][temp2.y] == 1)
				continue;
			vis2[temp2.x][temp2.y] = 1;
			temp2.t = temp1.t + 11;
			ans2[temp2.x][temp2.y] = temp2.t;
			qu.push(temp2);
		}
	}
}

int main()
{
	while( ~scanf("%d%d", &n, &m) )
	{
		int x1, y1, x2, y2, min_ans = 0x3f3f3f3f;
		for(int i = 0; i < n; i ++)
		{
			scanf("%s", mat[i]);
			for(int j = 0; j < m; j ++)
			{
				if(mat[i][j] == 'Y')
				{
					x1 = i;
					y1 = j;
				}
				else if(mat[i][j] =='M')
				{
					x2 = i;
					y2 = j;
				}
			}
		}
		bfs1(x1,y1);
		bfs2(x2,y2);
		for(int i = 0; i < n; i ++)
			for(int j = 0; j < m; j ++)
			{
				if(mat[i][j] == '@' && vis1[i][j] && vis2[i][j])
				{
					min_ans = min(min_ans, ans1[i][j] + ans2[i][j]);
				}
			}
		printf("%d\n", min_ans);
	}
	return 0;
}


WOFOST作物模型(7):6.0.6版本的PCSE使用(多层水分平衡和SNOMIN碳氮模型的集成) wofost81文件结构如上,其中所需的参数可从github上获取然后input下有两个需要调用的功能函数py文件,需要拖到自己的运行py文件同级目录下在使用土壤模块SNOMIN进行作物生长模型模拟时,需要为土壤剖面的不同层次提供多种输入变量。这些变量通常不随年份变化,因此会统一在土壤文件中定义。本节将说明如何将这些输入变量整合到一个字典中,进而生成SNOMIN能够读取的土壤文件。 阅读详情

相关推荐

Win10局域网内文件共享+远程桌面控制保姆级教程(含常见问题解决)

本文提供Win10局域网内文件共享和远程桌面控制的详细教程,包括环境检查、共享文件夹设置、远程桌面连接步骤及常见问题解决方案。通过内置功能实现高效办公协作,提升多设备协同工作效率,特别适合需要频繁传输文件或远程控制场景的专业人士。

rose2的博客 777

【hdu】 Find a way (分别从两个点出发BFS,再计算最小值)

Find a way Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 7   Accepted Submission(s) : 6 Problem Description Pass a year learning in Hangzh

Sunvct的编程之家 5031

基于simulink的变压器保护仿真设计【MATLAB源码+Word文档】

电力系统变压器保护MATLAB/simulink仿真设计。纵联差动保护-过电流保护-距离保护

weixin_761237174的博客 1270

hdu 2612 Find a way

Problem Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the countryside, but Merceki’s home is in t

创业项目 591

ArcGIS栅格拼接全攻略:从核心原理到色彩平衡与大数据处理

在GIS数据处理中,栅格拼接是一项基础且关键的操作,其本质是将多幅具有重叠区域的栅格图像无缝整合为一张完整地图。该技术涉及空间参考统一、像元对齐与色彩融合等核心原理,是构建连续地理空间数据的基石。其技术价值在于保障数据完整性、提升可视化效果,并为后续的空间分析提供可靠底图。在遥感影像处理、数字高程模型构建及地图制图等应用场景中,高质量的拼接成果至关重要。本文聚焦于ArcGIS平台,深入解析其栅格拼接工具,并针对常见的色彩不一致与大数据量处理难题,提供了基于**色彩平衡**和**金字塔**优化的实战解决方案,

weixin_33158887的博客 262

Zynq/ZynqMP PL端以太网实战:手把手教你用GMII to RGMII IP和EMIO打通网络(附KSZ9031 PHY驱动修改)

本文详细介绍了在Zynq/ZynqMP平台上使用GMII to RGMII IP核和EMIO接口实现PL端以太网通信的全栈开发流程,特别针对KSZ9031 PHY芯片提供了定制化驱动修改方案。内容涵盖硬件设计、Vivado配置、裸机驱动开发、Linux系统集成及实战调试技巧,帮助开发者高效解决工业控制和边缘计算中的以太网连接问题。

weixin_30642561的博客 582

HDU:Find a way

搜索题目

温姑娘的博客 768

南 京 农 业 大 学 试 题 纸 附表(rape.csv)是25个油菜材料,测得每个材料的千粒重、亚油酸等的含量. (1) 对物质含量的八个指标作主成分分析,画出碎石图和主成分得分图; (2) 选

(1)请用n1

Mrrunsen的博客 498

Find a way(BFS)

Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the

码农的一亩三分地 329

全志T527-TP9930-Camera

TP9930 驱动模块主要实现将 4 路的 AHD/TVI/CVBS Camera 的数据转换为 BT656/BT1120 数据,从而实现在 T527 端来对数据进行处理和送显。

Linux驱动开发工程师,熟悉Linux/Android底层驱动、TP、显示、IIC、网络等通用外设调试适配,Linux上层应用开发。常用平台瑞芯微、全志、恩智浦等。 3236

YOLO26跨时代升级!YOLO26 MLCA注意力机制解读

摘要: 本文提出了一种基于多级上下文聚合(MLCA)注意力机制的改进卷积神经网络。MLCA模块通过局部和全局注意力机制动态调整特征图权重,结合了ECA注意力与自适应池化,显著提升特征表达能力。实验表明,添加MLCA后模型mAP提升12.11,准确率提高5.43。文中详细解析了MLCA1模块的工作原理,包括局部/全局池化、卷积操作和注意力加权机制,并介绍了集成MLCA的Bottleneck_MLCA模块。该机制通过多层次特征融合,在保持计算效率的同时增强模型对关键特征的敏感性。最后提供了YOLOv26-MLC

m0_71589036的博客 283

HDU 2612 Find a way

HDU 2612 Find a way 题目大意: y和m要去肯德基聚餐,图中有多个kfc,他们要选的那个kfc必须到彼此的所用时间之和最小,问最少需要多少时间。 题目思路: 将Y和M分开进行BFS, 然后根据二者到达KFC的时间总和,取用时最少的kfc 推荐与这题类似并且稍微复杂的题:UVA 11624 具体代码: #include<iostream> #include<que...

指弹键盘哼民谣 559

2024年11月架构设计师案例分析真题回顾,附参考答案、解析及所涉知识点(二)

软考高级系统架构设计师考试包含三个科目:信息系统综合知识、案例分析和系统架构设计论文。考试形式为机考。本文主要回顾2024年下半年(2024-11-10)系统架构设计师考试上午第二科案例分析的题目,同时附带参考解答、解析和所涉知识点。

一几文的编程学习笔记。 1660

hdu2612 Find a way

原文链接: hdu2612 Find a way 上...

阿豪 161

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

HDU 2612 find a way

跑两遍BFS,开数组记录到达KFC步数。

大咸鱼。。。 2366

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU-2612-Find a way

HDU-2612-Find a way http://acm.hdu.edu.cn/showproblem.php?pid=2612 求2个点到KFC的距离之和,使其最小,可用2次BFS,分别求出2个点到各个KFC的最短距离,然后找出和最小的即可 #include #include #include #define max 0x7fffffff int n,m; char map[250

菜鸟的程序人生 3819

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

HDU 2612 Find a way

http://acm.hdu.edu.cn/showproblem.php?pid=2612 Find a way Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6065Accepted Submission...

deyou1988的专栏 135

HDU - 2612 Find a way 两次BFS

HDU - 2612 Find a way 题意: 输出 Y 和 M 到 KFC 最短时间总和。 思路: 两次 BFS 时间相加,最小的那个即为答案。除了 '#' 不能走,其余的都可以走且每走一步就需要 11 minutes。 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #includ...

没有梦想何以远行 199

HDU-2612 Find a way

Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3725    Accepted Submission(s): 1212 Problem Description Pass a year learnin

JSure的代码库 928

HDU - 2612 Find a way 【BFS】

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2612 题意 有两个人 要去一个城市中的KFC 一个城市中有多个KFC 求两个人到哪一个KFC的总时间最少 求出这个最少的总时间 思路 用BFS打一遍表 求出两个人每人到 每个 KFC 的时间 然后 遍历一下 更新答案 AC代码 #in...

dianxi0949的博客 146

HDU2612 Find a way BFS

Find a way Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28250 Accepted Submission(s): 9128 Problem Description Pass a year learning in Ha...

DouglasConnor的博客 299

HDU 2612 Find a way(BFS)

HDU 或 HDOJ 2612 Find a way (两次 BFS)

Keep trying, keep going 474

N - Find a way HDU - 2612

Find a way HDU - 2612 题意: 两个人从两个地方同时出发,每次可上下左右移动1格,每人耗时11分钟。从给定的目的地中选择一个使两人总用时最短。

我于万物之中 267

HDU2612--find a way

HDU2612–find a way 一、题目描述 Problem Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the countryside,

Jarvis223的博客 633

搜索 Find a way HDU - 2612 BFS

搜索 Find a way HDU - 2612 BFS 题意: 两个人Y和M要去同一家肯德基吃饭,然后问你怎么走所花费的总时间最少。 ‘#’代表的是墙不能走。 思路: 就是广搜开两个数组,虽然在同一个队列里面,但是标记一下之后更新与他相关的相关数组就可以了。我wa了几次,最后一定要注意 有可能以有一家kfc是被包围在墙壁里面的不可能到达,所以要对可以到达的kfc做一下标记。 其余就是bfs的板...

laaahu的博客 496

hdu 2612 Find a way(BFS)

题目链接:hdu2612 思路:题意是求两个人到某一个KFC花费时间和最小,其实就是求最短距离和,用两个BFS,分别以两个人为起点,分别记录下两人到每个KFC的距离,然后求出最小的和 #include #include #include #include #define N 205 using namespace std; char map[N][N]; int v[N][N],ans1[N]

no pains,no gains 1075
上一篇: POJ3126——Prime Path
下一篇: hdu1240——Asteroids!
tokers
博客等级 码龄12年 71粉丝 700原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值