ZCMU-1110

image
image


思路:-

  1. 首先可以知道最少动就是从三个角对称的划分
  • 因为不是对称划分则会出现破坏了正三角,后面还要重新对好
  1. 之后就可以进行推导(按三角形我没看懂)
  • 其中设底上截出来的三角形的底为i,则上面就是n-2*i-1;
  • 所以动的数就可以算出来:[6*i^2+(4-4n)i+(n *n -n)]/2;
  • 最小就是i=(4*n-4)/12;
#include<math.h>
int main(){
    int n,sum;
    while(~scanf("%d",&n)){
        double j=1.0*(4*n-4)/12;
        int i=floor(j+0.5);
        sum=(6*i*i+(4-4*n)*i+(n*n-n))/2;
        printf("%d\n",sum);
    }
}
posted @ 2024-04-19 19:44  海&贼  阅读(34)  评论(0)    收藏  举报