现在知道这个是概率水题了,2015上海大都会铜奖题:HDOJ5245

题解可以跟lightoj1284一模一样:举一反三


lightoj1284是从反面求的,那么如何求正面情况呢:分类相加

要选中(i,j)这个点,那么(x1,y1)和(x2,y2)需要在左右两侧

A:x1=x2=i,y1=y2=j,有1种情况

B:一个小于i,另一个大于i,一个大于j,另一个小于j,则是2*(i-1)*(m-i)*2*(j-1)*(n-j)

C:一个等于i,另一个任意选取(不等于j),一个大于j,另一个小于j,则是2*(m-1)*2*(j-1)*(n-j)

D:一个等于j,另一个任意选取(不等于j),一个大于i,另一个小于i,则是2*(n-1)*2*(i-1)*(m-i)

剩下的情况不列举了,只计算:

2.0*(j-1)*(n-j)+2.0*(i-1)*(m-i)+4.0*(m-1)*(n-1)

2.0*(m-1)+2.0*(n-1)


把这些值都加起来,然后除以(m*m*n*n)就是p值

注意!直接这样乘起来会是wa!因为超过了int,要用long long或者int!

代码就不贴了