您的位置:首页 > 其它

UVA 299 列车交换

2012-08-31 11:22 417 查看
交换排序计数

#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <cctype>
#include <algorithm>
#include <cmath>
using namespace std;
///
#define INF 0xffffff7
#define maxn 10000
///
int N;
int train[100];
int L;
int main()
{
///
int i, j;
scanf("%d", &N);
int count;
while (N--)
{
count = 0;
memset(train, 0, sizeof(train));
scanf("%d", &L);
for (i = 0; i < L; i++)
scanf("%d", &train[i]);
for (i = 0; i < L - 1; i++)
{
bool swapFlag = true;
for (j = 0; j < L - 1 - i;j++)
{
if (train[j] > train[j + 1])
{
count++;
int temp = train[j];
train[j] = train[j + 1];
train[j + 1] = temp;
swapFlag = false;
}
}
if (swapFlag)
break;
}
printf("Optimal train swapping takes %d swaps.\n", count);
}

///
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: