日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UVA Mapping the Swaps

發布時間:2025/3/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UVA Mapping the Swaps 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目例如以下:

Mapping the Swaps?

Sorting an array can be done by swapping certain pairs of adjacent entriesin the array. This is the fundamental technique used in the well-knownbubble sort. If we list the identities of the pairs to be swapped, in thesequence they are to be swapped, we obtain what might be called a swap map.For example, suppose we wish to sort the array A whose elements are 3, 2,and 1 in that order. If the subscripts for this array are 1, 2, and 3,sorting the array can be accomplished by swapping A2 and A3, then swapping A1and A2, and finally swapping A2 and A3. If a pair is identified in a swapmap by indicating the subscript of the first element of the pair to beswapped, then this sorting process would be characterized with the swap map2 1 2.

It is instructive to note that there may be many ways in which swapping ofadjacent array entries can be used to sort an array. The previous array,containing 3 2 1, could also be sorted by swapping A1 and A2, then swappingA2 and A3, and finally swapping A1 and A2 again. The swap map that describesthis sorting sequence is 1 2 1.

For a given array, how many different swap maps exist?

A little thoughtwill show that there are an infinite number of swap maps, since sequentialswapping of an arbitrary pair of elements will not change the order of the elements. Thus the swap map 1 1 1 2 1 will also leave our arrayelements in ascending order. But how many swap maps of minimum size willplace a given array in order? That is the question you are to answer in this problem.

Input

The input data will contain an arbitrary number of test cases, followed by asingle 0. Each test case will have a integer n that gives the size of anarray, and will be followed by the n integer values in the array.

Output

For each test case, print a message similar to those shown in thesample output below. In no test case will n be larger than 5.

Sample Input

2 9 7 2 12 50 3 3 2 1 3 9 1 5 0

Sample Output

There are 1 swap maps for input data set 1. There are 0 swap maps for input data set 2. There are 2 swap maps for input data set 3. There are 1 swap maps for input data set 4. 求將一個數組排序的不同方法的個數,能夠將數組相鄰兩數交換。要求交換的次數必須最少。事實上僅僅要不反復交換兩個元素。交換的次數就是最少的。知道這一點后就能夠直接回溯了。

AC的代碼例如以下:


轉載于:https://www.cnblogs.com/mengfanrong/p/5278993.html

總結

以上是生活随笔為你收集整理的UVA Mapping the Swaps的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。