我自己出的题,求解

题目

在提瓦特大陆的一个神秘区域中,存在着一片复杂的 “冒险之地”。这片区域被划分为N*N (5<=N<=100)个格子。每个格子可能是安全区域、陷阱区域、元素特殊区域或者任务发布区域。旅行者们可以使用不同元素能力的角色在这片区域中探索。每个角色都有自己独特的元素属性,比如火元素、水元素、雷元素、冰元素等,不同元素的角色在穿越某些区域时会有不同的效果。已知有几位著名的角色:迪卢克(火元素)、芭芭拉(水元素)、刻晴(雷元素)、凯亚(冰元素)等,旅行者初始拥有其中一个角色,并且可以在特定地点切换角色。每个安全区域之间的移动需要耗费一定的时间,而陷阱区域无法通行,元素特殊区域会根据角色的元素属性影响通过的时间。

  1. 地图信息
  • 第一行输入一个整数 ,表示地图的大小。
  • 接下来 行,每行 个字符,其中 '.' 表示安全区域, '#' 表示陷阱区域, 'F' 表示火元素特殊区域, 'W' 表示水元素特殊区域, 'L' 表示雷元素特殊区域, 'I' 表示冰元素特殊区域, 'T' 表示任务发布区域(可能有多个不同位置的 'T')。
  1. 角色信息
  • 输入一个字符串,表示旅行者初始的角色(“迪卢克”、“芭芭拉”、“刻晴”、“凯亚” 之一)。
  • 输入两个整数 和 ,表示旅行者的初始位置。
  1. 角色元素效果与时间规则
  • 火元素角色迪卢克在火元素特殊区域 'F' 中移动速度加快,通过时间减少一半;在水元素特殊区域 'W' 中移动速度减慢,通过时间增加一倍;在雷元素特殊区域 'L' 和冰元素特殊区域 'I' 中移动速度正常。
  • 水元素角色芭芭拉在水元素特殊区域 'W' 中移动速度加快,通过时间减少三分之一;在火元素特殊区域 'F' 中移动速度减慢,通过时间增加 50%;在雷元素特殊区域 'L' 和冰元素特殊区域 'I' 中移动速度正常。
  • 雷元素角色刻晴在雷元素特殊区域 'L' 中移动速度加快,通过时间减少四分之一;在火元素特殊区域 'F'、水元素特殊区域 'W' 和冰元素特殊区域 'I' 中移动速度正常。
  • 冰元素角色凯亚在冰元素特殊区域 'I' 中移动速度加快,通过时间减少三分之一;在火元素特殊区域 'F'、水元素特殊区域 'W' 和雷元素特殊区域 'L' 中移动速度正常。
  • 每从一个安全区域移动到相邻的安全区域(上下左右),固定耗费时间 5 个单位;如果是斜对角移动到相邻的安全区域,耗费时间 7 个单位。
  • 切换角色需要耗费 10 个单位时间,并且每个角色有 20 个单位时间的切换冷却时间(CD),在 CD 期间不能再次切换该角色。

输出格式
输出一个整数,表示旅行者从初始位置使用最佳角色组合到达最近的任务发布区域的最短总时间,如果无法到达任何一个任务发布区域,则输出 -1。同时,输出所使用的角色切换顺序(如果没有切换则不输出)。

输入样例 1

5

#.T.#
#.F.#
#.I.#

迪卢克
1 1

输出样例 1

15

输入样例 2

6

#.L.#.
#.F#.#
#.W.#.
#.T.#.
#…
芭芭拉
3 3

输出样例 2

32
芭芭拉->刻晴

解释 :初始角色芭芭拉在(3, 3) ,先经过水元素特殊区域 W ,时间为 10/3,再经过火元素特殊区域 F ,时间为7,然后切换角色到刻晴(耗费10单位时间),经过雷元素特殊区域 L ,时间为 15/4,最后到达任务发布区域 T ,总时间约为 32(取整)。

1 个赞