YLT C++ 5级 2024.03
N4129 [CIE 202403 五级 T1] 逃离迷宫
题目描述
你在一个地下迷宫中找到了宝藏,但是也触发了迷宫机关,导致迷宫将在 分钟后坍塌,为此你需要在 分钟内逃离迷宫,你想知道你能不能逃离迷宫。
迷宫是一个边长为 的正方形,其中 S 表示你所在的位置,E 表示迷宫出口,. 是可以随意走动的区域,# 是不可穿行的墙壁,每次你可以耗费 分钟在区域间移动(上下左右四个方向)。
输入格式
输入包含多组数组,第一行是一个整数 (),表示有 组数据。
接下来每组数组包含整数 ()和整数 , 表示正方形迷宫的边长, 表示坍塌时间。
其后是一个 的字符矩阵,包含字符 S, E, . 和 #。
输出格式
每组数据输出一行,输出 YES 或者 NO,表示是否可以在坍塌之前逃离(也就是说移动次数是否可以不超过 )。
样例
样例 1
输入:
2
4 7
S...
###.
.#E.
..#.
3 4
S..
..#
.#E
输出:
YES
NO
N4130 [CIE 202403 五级 T2] 密室逃脱
题目描述
小 喜欢玩密室逃脱,每次游戏开始时,小 会进入一个密室,她需要按照顺序解开各个隐藏线索才能成功逃脱密室。小 非常聪明,解开线索对她来说并不难,但是她有一点懒,她希望在通关过程中移动次数最少。请你帮小 计算她至少要移动多少次才能成功通关。
密室是 行 列的格子矩阵,小 从左上角 进入密室,密室中有三种格子:
墙,以数字 标记
路,以数字 标记
隐藏线索处,以数字 标记,代表该线索的难度
小 需要按照难度递增的顺序解开各个线索,逃脱密室。
输入格式
第一行是一个整数 ,表示输入包含 组数据,分别是不同的游戏中小 所处的密室。
对于每组数据,第一行包括两个整数:()、()。
接下来 行,每行有 个数字,第 行的第 个数字表示密室中第 行第 列的格子的类型。 题目保证进入密室处 不是墙壁,线索的难度都不相同。
输出格式
对于每组数据,你需要输出一个整数,表示小 在这个密室中至少要移动多少次才能成功通关。 如果小 不可能解开所有线索,输出 .
样例
样例 1
输入:
2
3 3
1 3 2
1 0 4
10 6 5
3 3
1 3 2
0 0 0
10 6 5
输出:
8
-1
提示
样例解释:由于需要按难度顺序解开线索,在第一组数据中,小 第一次移动到 时不能解密,在完成 之后需要回到 。最后小 解开 时,她成功通关。
N4131 [CIE 202403 五级 T3] 交易市场
题目描述
市场里面一共有 种物品,有 种交易途径,每个交易途径可以由 表示,意思是可以用第 种物品换成第 种物品,并且得到 元的收益( 均大于 )。最开始你只有第一种物品,请问最多可以赚取多少收益。
输入格式
第一行两个正整数 和 (,)。
接下来 行,每行三个正整数 、、,意思是可以用第 种物品换成第 种物品,并且得到 元的收益。(, )
输出格式
一个整数表示最大收益,如果可以赚取无穷多的收益则输出
样例
样例 1
输入:
3 3
1 2 2
2 3 3
1 3 4
输出:
5
N4132 [CIE 202403 五级 T4] 逆序对个数
题目描述
给定 个数的序列 ,定义一个数对 为“重要逆序对”的充要条件为 。求给定序列中“重要逆序对”的个数。
输入格式
本题有多个测试点,每个测试点分为两行:
第一行为序列中数字的个数 (),
第二行为序列 (),由空格分开。 表示输入结束。
输出格式
每个测试点一行,输出一个整数,为给序列中“重要逆序对”的个数。
样例
样例 1
输入:
10
0 9 8 7 6 5 4 3 2 1
0
输出:
16
提示
请注意答案范围,如果使用 printf 输出 long long 类型,请用 %lld
