乐高迷你越野车需要看图纸来拼。乐高积木是儿童喜爱的玩具。这种塑胶积木一头有凸粒,另一头有可嵌入凸粒的孔,形状有1300多种,每一种形状都有12种不同的颜色,以红、黄、蓝、白、绿色为主。它靠小朋友自己动手动脑,可以拼插出变化无穷的造型,令人爱不释手,被称为“魔术塑料积木”。乐高积木的故乡就在丹麦比隆。直至80年代末,海盗组主导着乐高集团,令到它成为整条生产线中最成功及最热卖的积木组之一。其它构思如得宝 (Duplo) 及科技组亦开始相继投产,例子有出名的得宝动物园及科技汽车 (TECHNIC cars)。此外,乐高更开始发展儿童服装。而于1988年举办的第一届乐高官方建设世界锦标赛(LEGO World Cup building Championship),更增加乐高的国际声誉,纵使其产品销售已走向国际,但根始终在自己的故乡——丹麦。
这就要判断逆排序的奇偶性了。
如果打乱后的排序奇偶性跟打乱前的是一样的,就能拼得回来。
就像12345678是偶排序,如果打乱后也是偶排序。就能拼得回来。
排序奇偶性是怎样出来的呢?
看:
12345678
1前面没有比1大的:0
2前面没有比2大的:0
3前面没有比3大的:0
4前面没有比4大的:0
5前面没有比5大的:0
6前面没有比6大的:0
7前面没有比7大的:0
8前面没有比8大的:0
0+0+0+0+0+0+0+0=0
0为偶数,所以排序为偶排序
再看看21345678
2前面没有比2小的:0
1前面有1个比1大的(就是2啦):1
3前面没有比3大的:0
4前面没有比4大的:0
5前面没有比5大的:0
6前面没有比6大的:0
7前面没有比7大的:0
8前面没有比8大的:0
0+1+0+0+0+0+0+0=1
1为奇数,所以排序为奇排序,跟没打乱之前的12345678的排序奇偶性不同,所以就拼不回来了。
现在随机打乱看看能不能拼得回
假如打乱后为:23514876
2前面没有比2大的:0
3前面没有比3大的:0
5前面没有比5大的:0
1前面有3个比1大的(2,3,5):3
4前面有1个比4大的(5):1
8前面没有比8大的:0
7前面有1个比7大的(8):1
6前面有2个比6大的(7,8):2
0+0+0+3+1+0+1+2=7
7为奇数,所以排序为偶排序,跟12345678的排序奇偶性不同,所以是拼不回来的。
所以,只要判断一下排序的奇偶性就行了,如果是奇排序就拼不回来了,就必须重新打乱。
我不知道你用什么语言编写,下面是我用vb写的,用来判断排序奇偶性,你参考一下(我是从0开始的,0~7)
S()是打乱后的数组
Dim g As Integer
Dim f As Integer
For i = 1 To 7
For g = 0 To i - 1
If s(g) > s(i) Then f = f + 1
Next g
Next i
最后用 f mod 2判断 f是不是偶数,如果是就能拼得回来。如果不是,就必须重新打乱了。
打了半天,自己迷迷糊糊的,你看不懂再问我吧。