题目描述:
M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。求使M个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。
输入:
第一行为测试数据的组数n,以后n行中每行为一个小于32767的正整数,表示M
输出:
对于每组测试数据,输出一个数,表示最少需要的分钟数。
样例输入:
3
4
5
6
样例输出:
2
4
6
分析:这种题,咋说来,很不好想,
源码:(有需要自取)

include <stdio.h>

int main(void){

int m,n;
scanf("%d",&n);
while(n>0){
    scanf("%d",&m);
    if(m%2==0){
        printf("%d\n",(m/2)*(m/2-1));
    }else{
        printf("%d\n",(m-1)*(m-1)/4);
    }
    n--;
}
return 0;

}