1. 程式人生 > >[Beijing wc2012]算不出的算式

[Beijing wc2012]算不出的算式

beijing 坐標 bzoj style == zoj span int clas

OJ題號:BZOJ2659

思路:數學。

建立平面直角坐標系。在第一象限作直線y=qx/p,易得Σ[kq/p]即為當x<(p/2)時,直線下方(包括直線)的整點數;Σ[kp/q]為當y<(q/2)時,直線上方(包括直線)的整點數。因此答案即為(p-1)*(q-1)/4。註意當p==q時,要將直線上的點算兩遍。

1 #include<cstdio>
2 int main() {
3     long long p,q;
4     scanf("%lld%lld",&p,&q);
5     printf("%lld\n",(p==q)?((p*p-1
)>>2):(((p-1)*(q-1))>>2)); 6 return 0; 7 }

[Beijing wc2012]算不出的算式