Problem 3178 --移动棋子

3178: 移动棋子

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $0$ 正确数量 $0$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

在一个 n × m 的棋盘中,放有 k 个棋子,第 i 个棋子位于第 sxi 行第 syi 列,在若干次操作后 位于第 exi 行,第 eyi 列

在每次操作中,可以将所有的棋子同时向上下左右中的一个方向移动一格(在同一次操作中 所有棋子的移动方向相同)

如果在移动之前棋子位于(x, y)
向上移动后变为(x − 1, y);向下移动后变为(x + 1, y);
向左移动后变为(x, y − 1);向右移动后变为(x, y + 1) 棋子不会被移动到棋盘外,如果一次操作试图将某个棋子移动到棋盘外,这个棋子将原地不动 一个位置中可以出现多个棋子,不会阻挡其他棋子的移动 你需要回答能否做出这样的移动,如果能最少需要几次操作

第一行输入一个整数 T,代表有 T 组测试数据 对于每一组测试数据,第一行输入三个整数 n, m, k,接下来 k 行每行输入 4 个整数 sx, sy, ex, ey

对于每组测试数据,输出最少移动次数,如果不能完成输出−1

1 ≤ T ≤ 5⋅10^4 

1 ≤ n, m ≤ 10^6 

1 ≤ k ≤ 2⋅10^5 

∑k ≤ 2⋅10^5

1 ≤ sx, ex ≤ n, 1 ≤ sy, ey ≤ m


3
9 9 2 
1 2 3 4  
5 6 7 8 
5 5 5 
1 5 2 3 
2 4 2 2 
3 3 3 1  
4 2 4 1 
5 1 4 1 
3 3 2 
2 3 3 2 
3 2 2 3 
4 
6 
-1

推荐代码 查看3178 所有题解 上传题解视频得图灵币

本题记录 用 户(点击查看用户) 运行号(点击购买题解) 时 间
算法最快[$ $ms]
内存最少[$ $KB]
第一AC
第一挑战

赛题来源/所属竞赛 ICPC NEAU Programming Contest 2020 N/A

竞赛编号 竞赛名称 竞赛时间 访问比赛