这��问题来自ACM-ICPC罗马尼亚档案馆。给定T组(N, P),找到每组元组的最小X,使得X%P == N。如果不可能,输出-1。X只能由数字集{2、3、5、7}中的数字构成。
例如:
3
52 100
11 100
51 1123
给定示例的输出:
52
-1
322352
限制条件:
1 ≤ P ≤ 5 * 10^6
1 ≤ N ≤ P - 1
我尝试使用递归函数解决此问题,该函数将使用给定集合中的数字构建数字并检查是否满足条件,但是这太慢了,因为我不知道何时停止搜索(即当给定元组没有解时)。作者提示以某种方式使用BFS,但我真的看不出如何使用该问题的输入数据构造有意义的图形。
你会如何解决这个问题?
例如:
3
52 100
11 100
51 1123
给定示例的输出:
52
-1
322352
限制条件:
1 ≤ P ≤ 5 * 10^6
1 ≤ N ≤ P - 1
我尝试使用递归函数解决此问题,该函数将使用给定集合中的数字构建数字并检查是否满足条件,但是这太慢了,因为我不知道何时停止搜索(即当给定元组没有解时)。作者提示以某种方式使用BFS,但我真的看不出如何使用该问题的输入数据构造有意义的图形。
你会如何解决这个问题?