标签:style blog class code tar color
OJ题目:click here~~
题目分析:1……n按顺序围成一个圈,1与n相邻。交换相邻两个数算1步。至少需要多少步,得到一个逆方向的1……n的圈。
分两半,使用冒泡排序,排成逆序的交换次数之和即为结果。
AC_CODE
int f(int n){
    return n*(n - 1)/2;
}
int main(){
    int n  , t;
    cin >> t;
    while(t--){
        cin >> n;
        int ans = 0;
        if(n&1) ans = f(n/2) + f(n/2 + 1);
        else ans = 2*f(n/2);
        cout << ans << endl;
    }
}FZOJ 1157 Crazy Tea Party,布布扣,bubuko.com
标签:style blog class code tar color
原文地址:http://blog.csdn.net/bolininahuaalex/article/details/25147003