可能由于后台数据的原因,这道题直接暴力枚举a,b进行判断也能过,不过跑的时间长,效率太差了。
14021006 |
12169 |
Disgruntled Judge |
Accepted |
C++ |
0.876 |
2014-08-11 08:46:28 |
不说了,比较无脑。
#include
#include
#include
#include
#include
#include
#include
#include
再一个办法就是枚举a,利用x1,x3求出b,判断所有x的关系能不能满足a,b。
如何通过a,x1,x3求出b呢。
x2 = (a * x1 + b) % 10001;
x3 = (a * x2 + b) % 10001;
联立2个式子
x3 = (a * (a * x1 + b) % 10001 + b ) % 10001;
x3 = (a * (a * x1 + b) + b) % 10001;
所以 x3 + 10001 * k = a * a * x1 + (a + 1) * b;
x3 - a * a * x1 = (a + 1) * b + 10001 * (-k);
这样就成了求 b 和 -k,满足这个式子,不就是扩展欧几里得的一般用法么?
14021484 |
12169 |
Disgruntled Judge |
Accepted |
C++ |
0.012 |
2014-08-11 10:54:22 |
#include
#include
#include
#include
#include
#include
#include
#include