题目链接:uva 1315 - Crazy tea party
题目大意:有n个人顺时针为成一圈,现在相邻的两个人可以互相交换位置,问说最少交换几次可以使得n个人逆时针坐。
解题思路:大概这样的策略师最优的,离1近的从1这边走,离n近的从n这边走。
#include <stdio.h>
#include <string.h>
int main () {
int cas, n;
scanf("%d", &cas);
while (cas--) {
scanf("%d", &n);
int t = (n - 1) / 2;
int s = (1 + t) * t;
if (n&1) s -= t;
printf("%d\n", s);
}
return 0;
}