UVA 299- Train Swapping(冒泡排序中交換次數)

來源:互聯網
上載者:User

標籤:

Train Swapping Time Limit:3000MS      Memory Limit:0KB      64bit IO Format:%lld & %lluSubmit Status

Description


 Train Swapping 

At an old railway station, you may still encounter one of the last remaining ``train swappers‘‘. A train swapper is an employee of the railroad, whose sole job it is to rearrange the carriages of trains.

Once the carriages are arranged in the optimal order, all the train driver has to do, is drop the carriages off, one by one, at the stations for which the load is meant.

The title ``train swapper‘‘ stems from the first person who performed this task, at a station close to a railway bridge. Instead of opening up vertically, the bridge rotated around a pillar in the center of the river. After rotating the bridge 90 degrees, boats could pass left or right.

The first train swapper had discovered that the bridge could be operated with at most two carriages on it. By rotating the bridge 180 degrees, the carriages switched place, allowing him to rearrange the carriages (as a side effect, the carriages then faced the opposite direction, but train carriages can move either way, so who cares).

Now that almost all train swappers have died out, the railway company would like to automate their operation. Part of the program to be developed, is a routine which decides for a given train the least number of swaps of two adjacent carriages necessary to order the train. Your assignment is to create that routine.

Input Specification

The input contains on the first line the number of test cases (N). Each test case consists of two input lines. The first line of a test case contains an integer L, determining the length of the train (  ). The second line of a test case contains a permutation of the numbers 1 through L, indicating the current order of the carriages. The carriages should be ordered such that carriage 1 comes first, then 2, etc. with carriage L coming last.

Output Specification

For each test case output the sentence: ‘Optimal train swapping takes S swaps.‘ where S is an integer.

Example Input

331 3 244 3 2 122 1

Example Output

Optimal train swapping takes 1 swaps.Optimal train swapping takes 6 swaps.Optimal train swapping takes 1 swaps.

題意:就是簡單的冒泡排序,讓你求出冒泡排序過程中交換的次數

#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){    int a[110];    int T,n,t,i,j;    scanf("%d",&T);    while(T--)    {        int cnt=0;        scanf("%d",&n);        for(i=0;i<n;i++)            scanf("%d",&a[i]);        for(i=0;i<n;i++)            for(j=i+1;j<n;j++)        {            if(a[i]>a[j])            {                t=a[i];                a[i]=a[j];                a[j]=t;                cnt++;            }        }        printf("Optimal train swapping takes %d swaps.\n",cnt);    }    return 0;}


UVA 299- Train Swapping(冒泡排序中交換次數)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.