zoj 1730
来源:互联网 发布:java 国际化资源文件 编辑:程序博客网 时间:2024/05/16 05:01
题意:N个人在一张桌子上,每分钟有一对邻居可以互换位置,问最少的时间使得所有人的左邻居变为右邻居,右邻居变为左邻居。
如果N个人是线性的,那就是冒泡排序的时间复杂度n*(n-1)/2;这道题目是环 相对于 1 2 3 4 5 3 2 1 5 4 也是一种合法的情况。那么只要把这个环分为两个部分,分别进行计算就可以了。讨论N为奇数和偶数的情况即可。
#include <stdio.h>
#include <string.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
int ans=0;
if(n%2==0)
{
ans=2*(n/2)*(n/2-1)/2;
}
else
ans=(n/2)*(n/2-1)/2+(n/2+1)*(n/2)/2;
printf("%d\n",ans);
}
return 0;
}
0 0
- ZOJ-1730
- zoj 1730
- zoj 1730
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- 潘昊:屏幕之外,皆为蓝海
- HDU 1061 Rightmost Digit 【快速求幂】
- SVN库迁移整理方法总结
- 【快速幂取模】HDU 2035---人见人爱A^B
- 国外开源电子商务平台
- zoj 1730
- iOS_20_微博新特性页面
- 动态内存分配
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
- UVa11988 Broken Keyboard(悲剧文本)
- 解决redhat的yum 不能用报错Setting up Install Process Nothing to do
- ListView的Adapter使用 之 初学ArrayAdapter<String>
- NGUI 遮罩 透明度
- Uva 11297 Census,二维线段树,板子