| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 71137 | sh25_zhoumy | 黑白精灵 | C++ | 通过 | 0 MS | 244 KB | 806 | 2025-10-24 15:09:57 |
#include <iostream> #include <algorithm> #include <cmath> using namespace std; int main() { int N, M; cin >> N >> M; int N1, M1, N2, M2; cin >> N1 >> M1; cin >> N2 >> M2; // 计算不使用传送门的曼哈顿距离 int direct_distance = (N - 1) + (M - 1); // 计算使用传送门的两种路径 // 路径1:起点 -> 传送门1 -> 传送门2 -> 终点 int path1 = abs(N1 - 1) + abs(M1 - 1) + abs(N - N2) + abs(M - M2); // 路径2:起点 -> 传送门2 -> 传送门1 -> 终点 int path2 = abs(N2 - 1) + abs(M2 - 1) + abs(N - N1) + abs(M - M1); // 取三种路径中的最小值 int result = min(direct_distance, min(path1, path2)); cout << result << endl; return 0; }