问题 AC: Brainman

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:162 解决:87

题目描述

雷蒙德巴比特把他弟弟查理逼疯了。最近,雷蒙德可以搭起246根筷子,并让它们一瞬间就摔得满地都是。他甚至可以搭扑克牌。查理也想做这么酷的事,他在想类似的任务中击败他的哥哥。
这是查理的想法:想象一下得到n个数字的序列。目标是移动这些数字,让最后序列是有序的。唯一允许的操作是交换两个相邻的数字。下面举个例子。
start with : 2 8 0 3
swap(8 0) 2 0 8 3
swap(2 0) 0 2 8 3
swap(8 3) 0 2 3 8
共交换3次。问题是:排序一个给定的序列,相邻数字的最小交换次数是多少?因为查理没有雷蒙德那样的智力,他决定让你为他写一个计算机程序来回答这个问题。请放心,他会为此付出很多报酬。

输入

第一行包含场景数量。对于每个场景,都会得到一行代码。首先包含序列的长度n(1<=n<=1000),然后是序列的n个元素(每个元素都是[-1000000,1000000]中的整数)。这一行的所有数字都是用单个空格隔开的。

输出

用包含“Scenario#i:”的行开始每个场景的输出,其中i是从1开始的场景序数。然后打印一行,其中包含对给定序列进行排序所必需的相邻数字的最小交换次数。用一个空格结束该方案的输出。

样例输入 复制

4
4 4 2 8 3
10 0 1 2 3 4 5 6 7 8 9
6 -42 23 6 28 -100 6557
5 0 0 0 0 0

样例输出 复制

Scenario #1:
3
 
Scenario #2:
0
 
Scenario #3:
5
 
Scenario #4:
0