題目描述
在一個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水準旋轉。一個車站的職工發現橋的長度最多能容納兩節車廂,如果将橋旋轉180180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。于是他就負責用這座橋将進站的車廂按車廂号從小到大排列。他退休後,火車站決定将這一工作自動化,其中一項重要的工作是編一個程式,輸入初始的車廂順序,計算最少用多少步就能将車廂排序。
輸入格式
共兩行。
第一行是車廂總數N(≤10000)。
第二行是N個不同的數表示初始的車廂順序。
輸出格式
一個整數,最少的旋轉次數。
輸入輸出樣例
輸入
4
4 3 2 1
輸出
6
使用冒泡排序
#include<stdio.h>
#define MAX 10000
int main()
{
int N,temp,account = 0;
int a[MAX];
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
temp = a[0];
for (int i = 1; i < N ; i++)
{
for (int i = 1; i < N; i++)
{
if (a[i - 1] < a[i])
{
continue;
}
else
{
temp = a[i - 1];
a[i - 1] = a[i];
a[i] = temp;
account++;
}
}
}
printf("%d",account);
return 0;
}