p2p商城网站建设方案,阿里云服务器部署网站,网络推广最新技巧,岚县网站建设找规律的题目。如果不是圆环形状的话#xff08;也就是n个人排成直线#xff09;#xff0c;完全调换顺序需要(n-1)*n/2次交换#xff1b;为环形的时候#xff0c;可能不需要这么多#xff0c;因为调换有了两个方向。我们记直线时n个人需要的交换次数为g(n)(n-1)*n/2也就是n个人排成直线完全调换顺序需要(n-1)*n/2次交换为环形的时候可能不需要这么多因为调换有了两个方向。我们记直线时n个人需要的交换次数为g(n)(n-1)*n/2显然g(n)是以n的平方增长的所以要使总的交换次数尽量少最佳情况就是将n分成尽量平均的两部分分别向两个方向交换。 /* * hdu1214/win.cpp * Created on: 2011-10-12 * Author : ben*/#include cstdio#include cstdlib#include cstring#include cmath#include ctime#include iostream#include algorithm#include queue#include set#include map#include stack#include string#include vector#include deque#include list#include functional#include numeric#include cctypeusing namespace std;int main() {#ifndef ONLINE_JUDGE freopen(data.in, r, stdin);#endifint n;while (scanf(%d, n) ! EOF) {int m, sum, a, b; m n / 2; a (m - 1) * m / 2; b (n - m - 1) * (n - m) / 2; sum a b; printf(%d\n, sum); }return 0;} 转载于:https://www.cnblogs.com/moonbay/archive/2011/10/12/2209419.html