您正在为一个先进的神经形态计算平台设计一个信号传播模拟器。 该平台的核心是一个二维神经元矩阵 M ,矩阵中的每个单元可以是 非导电介质(值为 0 ),也可以是具有特定 激活延迟 的 神经元(值为 1 到 k 的正整数)。 信号在矩阵中按以下规则传播: 当一个神经元被激活后,它会经历一段等于其激活延迟时间的内部处理。 处理完成后,它会立即向其上、下、左、右四个相邻的神经元发送激活信号。 您的任务是,给定一个初始被激活的神经元集合 S 和一个特定的目标神经元 T ,计算出目标神经元 T 被 首次激活 的最早时间。 如果目标神经元的位置是非导电介质,或者信号无论如何都无法传播到该位置,则返回 -1 。
输入数据包含以下几个部分: 1. 二维神经元矩阵 M : 其维度为 m × n ,其中 0 < m, n ≤ 100 。矩阵中的每个元素 M_ij 代表该位置的单元类型: 0 表示非导电介质,正整数表示神经元的激活延迟。 2. 初始激活源 S : 一个由多个坐标组成的集合 S = (x_i, y_i) | 0 ≤ x_i < m, 0 ≤ y_i < n 。激活源的数量小于 5 。 3. 目标神经元 T : 单个坐标 T = (a, b) ,其中 0 ≤ a < m, 0 ≤ b < n 。 输入格式 : 第 1 行 : 矩阵的维度 m 和 n ,由空格分隔。 第 2 行到第 m+1 行 : 神经元矩阵 M 的内容,每行代表矩阵的一行,行内数字由空格分隔。 第 m+2 行 : 初始激活源 S 的坐标。例如,`x1 y1 x2 y2 ...` 表示集合 (x_1, y_1), (x_2, y_2), ... 。 第 m+3 行 : 目标神经元 T 的坐标 `a b`。
一个整数,表示信号传播到目标神经元 T 所需的最短时间。 如果无法到达,则输出 -1 。
3 3 1 2 0 0 3 1 1 0 2 0 0 2 0 2 2
7
3 3 1 0 0 0 3 1 1 0 2 0 0 2 0 2 2
-1
考点:计算几何
数据规模 n ≤ 100 | 限制 3 秒 / 256MB | 标准输入输出
参考方向:计算几何
把几何关系转成坐标运算,用整数运算避免浮点误差。
思路框架(计算几何 通法 · 非本题专属)
实现要点:叉积 cross = x1*y2 - x2*y1;用它判断顺时针/逆时针和共线。
复杂度:时间 O(n) ~ O(n²) | 空间 O(n)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1
3 3 / 1 2 0 / 0 3 1 / 1 0 2 / 0 0 2 0 / 2 27样例 2
3 3 / 1 0 0 / 0 3 1 / 1 0 2 / 0 0 2 0 / 2 2-1解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2025年秋招-华为-11月06号留学生开发岗。