此类问题就是拼智商
拼数学
桌子是圆的
那么交换的次数怎么样子最少呢?
首先排序是按照冒泡的思想肯定是n*(n-1)/2;
然后怎么样减少冒泡的次数?
达到排序的另一只效果
首先桌子是圆的
把桌子分成两个部分
剩下的就自己悟了
#include <iostream>
using namespace std;
int cc(int x)
{
x=x*(x-1)/2; //冒泡法次数的计算
return x;
}
int main()
{
int n;
while(cin>>n)
{
int x,y;
x=n/2; //把桌子分成两个部分
y=n-x;
cout<<cc(x)+cc(y)<<endl;
}
return 0;
}