密码箱专题

【BZOJ 1406】【AHOI 2007】密码箱

设:x^2=kn+1 移项:(x+1)(x-1)=kn 令x+1=k1n1,x-1=k2n2,其中k1k2=k,n1n2=n 然后在n的因子中枚举n1,再枚举k1,判断一下是否存在k2,如果存在就是一个合法解,扔到set里面排序去重。 #include<set>#include<cmath>#include<cstdio>#include<vector>#include<queue