题库/Y1006

#Y1006. 棋盘问题

    传统题 难度: 普及 标签>一本通状态定义、转移与边界计算顺序与答案位置
时间限制3000 ms
内存限制64 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

Y1006 · 棋盘问题

退出在线编程模式
普及 读懂题意,让每一次思考成为成长。
时间限制3000 ms
内存限制64 MiB
通过率—0 / 0 次提交

题目描述

在一个无限大的棋盘上给定起点(fx,fyf_x,f_y)和终点坐标(tx,tyt_x,t_y),再给定nn个向量,每个向量形如(x,yx,y),表示当前点在(a,ba,b)时可以一步走到(a+x,b+ya+x,b+y)。求从起点出发到达终点的最小步数。

输入

第一行一个整数TT,表示共有TT组数据。 对于每组数据: 第一行四个整数fx,fy,tx,tyf_x,f_y,t_x,t_y,表示起点终点坐标。 第二行一个整数nn,表示可走的方向有nn个。 接下来n行每行两个整数x,yx,y,表示一个向量(x,yx,y)。

输出

若有可行的方案,输出一行一个整数ansans,表示最小步数。 否则输出“IMPOSSIBLE”。

输入样例

2
0 0 6 6
5
1 2
2 1
2 2
1 3
3 1
0 0 5 5
2
1 2
2 1

输出样例

3
IMPOSSIBLE

提示

【数据规模与约定】 对于100%的数据,T<20,-5000≤f_x,f_y,t_x,t_y≤5000,1≤n≤10,1≤x,y≤10。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。