`
阿尔萨斯
  • 浏览: 4147984 次
社区版块
存档分类
最新评论

uva 1315 - Crazy tea party(数论)

 
阅读更多

题目链接: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;
}



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics