http://acm.uestc.edu.cn/problem.php?pid=1033
此题如果是猜最后答案的话,其实很容易就可以猜到,直接8*n-4就可以了。但是证明过程真是让我煞费苦心。下面是证明过程。
首先讨论圆上是否会出现整点。
圆方程为 x^2+y^2=((2n-1)/2)^2=>x^2+y^2=n^2-n+1/4; 很明显在n为整数的时候,x和y不可能同时为整数,也就是不会出现整点。
既然没有整点,那就好办了。对于园的周长经过的方格,肯定会有两个交点(一个进点,一个出点),我们现在计算第一象限的方格数,总方格数乘4就行了。
以x=0的点为起点,到y=0的点,计算这条圆弧经过几个方格。
对于每个方格的交点,就有这么几种情况
1. 第一个的交点在方格左边的边线上,第二个在方格右边的边线上。
2. 第一个的交点在方格左边的边线上,第二个在方格下方的边线上。
3. 第一个的交点在方格上方的边线上,第二个在方格下方的边线上。
我们可以这样想,第一种情况相当于x+1,第二种和第三种情况都相当于y-1。
总的需要改变的量,对于x就是n-1,对于y就是n(为什么不一样,画画就知道了。),于是总的步数就是n-1个第一种情况,和n个第二,三种情况。于是总的方格数就是n+n-1=2n-1;
最后总的方格数就是4*(2*n-1)=8*n-4.