HDU1214 圆桌会议 水规律

分成2段a和b,若n为奇数, a,b一奇一偶, 若n为偶数,a,b都为偶数。

假设长度为L,每段的次数是 1+2+3+......+L = (L+1)*L/2, a,b两段加起来就是答案;

View Code
#include<cstdio>
#include<cstring>
__int64 n, a, b;
int main()
{
    while( ~scanf("%I64d", &n))
        a = n>>1, b = n - a,
        printf("%I64d\n", (a*a+b*b-n)>>1); 
    return 0;
}

 

posted @ 2012-12-04 21:47  To be an ACMan  Views(186)  Comments(0)    收藏  举报