AT_past202309_k.マス目
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个 N×N 的方格。用 (i,j) 表示第 i 行(自上往下)第 j 列(自左往右)的方格。
每个方格有如下四种状态之一:起点、目标、通道和坑洞。第 (i,j) 个方格的状态用 Si,j 表示。
S表示该方格是起点。恰好有一个起点。G表示该方格是目标。至少有一个目标点。.表示该方格是通道。X表示该方格是坑洞。
请对于 k=1,2,…,N−1 解决如下问题。
你最初位于起点。然后,你可以重复进行如下操作:
- 选择一个方向(上、下、左、右),连续移动 k 格到该方向。
你在执行该操作时,不能经过坑洞方格,也不能移动出网格之外。
问你是否能在某次操作结束时恰好位于目标方格上,如果可以,输出所需的最少操作次数,否则输出 −1。
注意,中间经过目标方格但不是操作结束时不计为到达目标。
输入格式
输入从标准输入读入,格式如下:
N
S1
S2
⋮
SN
输出格式
输出 N−1 行。
对于 1≤i≤N−1,第 i 行输出 k=i 时到达目标方格所需的最小操作数,如果无法到达则输出 −1。
输入输出样例
输入#1
5 SX... ..... ..GX. ..XG. X.X.G
输出#1
4 2 -1 -1
输入#2
2 GX XS
输出#2
-1
说明/提示
样例解释 1
对于 k=2,你可以通过两步操作,到达目标。
- 往下移动,从 (1,1) 到 (3,1)。
- 往右移动,从 (3,1) 到 (3,3)。
只进行一次移动,不能到达目标,所以答案是 2。
注意,对于 k=3,如下移动方式不可行:
- 往右移动,从 (1,1) 到 (1,4)。
由于此移动路径会经过 (1,2),而这里是坑洞,所以该操作不允许。
数据范围
- 1≤N≤1500
- Si,j 为
S、G、.或X - 恰好有一个 (i,j) 使得 Si,j=S
- 至少有一个 (i,j) 使得 Si,j=G
- N 为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?