首页 > 其他 > 详细

FZOJ 1157 Crazy Tea Party

时间:2014-05-06 23:14:55      阅读:483      评论:0      收藏:0      [点我收藏+]

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

FZOJ 1157 Crazy Tea Party

原文:http://blog.csdn.net/bolininahuaalex/article/details/25147003

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!