ZOJ 的二月月赛
小菜鸟也只能写写水题了。。
题目的意思就是:求主对角线上的数字最大,数字必须是相连;
可以看做画一条线经过每一个空格,因为要使主对角线上的数字最大所以要尽量把大数放在主对角线上;
比如 n=5的时候
;这就是最大的时候。最大数字从第四行第四列开始(也可以是第二行第二列,只要空出一行让其他数字通行),而右下角的数字就是左上角的数字的一半。(19/2=9);因为主对角线两边的数字的个数应该都是相同的;
只要想到了就如何最大就很简单了。。
就可以计算出一个公式。也可以不用公式。。
#include<stdio.h>
int main()
{
int n,sum;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",(n-1)*n*n-(n-1)*(n-2)+(n*n-2*(n-2))/2);
}
return 0;
}