P1116 車廂重組
阿新 • • 發佈:2017-08-11
algo string logs include 數據 turn 輸出 旋轉 col
輸出樣例#1:
題目描述
在一個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉。一個車站的職工發現橋的長度最多能容納兩節車廂,如果將橋旋轉180度,則可以把相鄰兩節車廂的位置交換,用這種方法可以重新排列車廂的順序。於是他就負責用這座橋將進站的車廂按車廂號從小到大排列。他退休後,火車站決定將這一工作自動化,其中一項重要的工作是編一個程序,輸入初始的車廂順序,計算最少用多少步就能將車廂排序。
輸入輸出格式
輸入格式:
輸入文件有兩行數據,第一行是車廂總數N(不大於10000),第二行是N個不同的數表示初始的車廂順序。
輸出格式:
一個數據,是最少的旋轉次數。
輸入輸出樣例
輸入樣例#1:4 4 3 2 1
6
重溫冒泡的精髓
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> #include<math.h> #include<cmath> using namespace std; int n,a[1200],ans,t; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]);View Codefor(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(a[j-1]>a[j]) { t=a[j]; a[j]=a[j-1]; a[j-1]=t; ans++; } } cout<<ans; return 0; }
P1116 車廂重組