如果您感到困惑,请参见孔#1。
每个孩子在万圣节收集糖果桶后会做什么?
按类型和大小排序,当然是1!
挑战
给定一个袋装了各种形状和大小的糖果,请根据以下说明从左到右对糖果进行排序:
- 第一:糖果的数量(所以一个糖果中的5个比另一个糖果中的4个要多)
- 第二个(如果在第一个之后有平局):如果数量相同,则具有更大内部区域(基于字符数)的糖果将排名更高。
如果在第二种排序之后仍然有平局,则可以选择第一种。
输入值
您将通过stdin得到糖果。散落。请参阅下面的示例。
输出量
以正确的顺序输出订购的糖果。注意,糖果,应始终放在非常整齐的列来安抚你的强迫症的鱼2。相同类型的糖果应直接放在彼此下面。请参阅下面的示例。
“内部区域”是什么意思?
一块糖果的内部面积由组成整个糖果的总字符来度量。
“边界”内的任何空格都被视为糖果区域的一部分。
边框是任何相连的字符循环,每个字符对角线或相邻。
例如,
+--------+
| |
| |
| |
| |
+--------+
具有比
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
即使总体上字符较少。
例子
输入:
_ \| |/ _
_ lllllll -*------------*- -\ /- lllllll
lllllll lllllllll | /\ /\ / | +|\ooooo/|+ lllllllll
lllllllll llll+llll | / \/ \/ | ||o o|| llll+llll
llll+llll lllllllll -*------------*- ||o o|| lllllllll
lllllllll lllllll /| |\ +|/ooooo\|+ lllllll
lllllll | -/ \- |
| | _ |
| -\ /- | lllllll |
| +|\ooooo/|+ | lllllllll |
| ||o o|| | llll+llll |
| ||o o|| + lllllllll rrr--rrr +
+ +|/ooooo\|+ lllllll rr||rr
-/ \- | | || |
| | || |
| | || |
| | || |
| \| |/ | || |
+ -*------------*- | || |
| /\ /\ / | | || |
-\ /- | / \/ \/ | | || |
+|\ooooo/|+ -*------------*- rr||rr
||o o|| /| |\ rrr--rrr
||o o||
+|/ooooo\|+
-/ \-
会成为
_ \| |/ -\ /- rrr--rrr
lllllll -*------------*- +|\ooooo/|+ rr||rr
lllllllll | /\ /\ / | ||o o|| | || |
llll+llll | / \/ \/ | ||o o|| | || |
lllllllll -*------------*- +|/ooooo\|+ | || |
lllllll /| |\ -/ \- | || |
| | || |
| \| |/ -\ /- | || |
| -*------------*- +|\ooooo/|+ | || |
| | /\ /\ / | ||o o|| | || |
| | / \/ \/ | ||o o|| rr||rr
+ -*------------*- +|/ooooo\|+ rrr--rrr
/| |\ -/ \-
_
lllllll \| |/ -\ /-
lllllllll -*------------*- +|\ooooo/|+
llll+llll | /\ /\ / | ||o o||
lllllllll | / \/ \/ | ||o o||
lllllll -*------------*- +|/ooooo\|+
| /| |\ -/ \-
|
|
|
|
+
_
lllllll
lllllllll
llll+llll
lllllllll
lllllll
|
|
|
|
|
+
_
lllllll
lllllllll
llll+llll
lllllllll
lllllll
|
|
|
|
|
+
第二个例子:
qq \/
qq qq qq +-----+
qq qq qq + |
jjjjjjjj qq qq | |
jjjjjj \/ qq qq | |
jjjj +-----+ <---notice that the left side is not connected qq +-------+
jj jj + | <--> <-->
j j | |
jj <> jj | | <--> qq jjjjjjjj
jj jj +-------+ qq jjjjjj
jjjj qq qq jjjj
qq qq jj jj
j j
+---------------------------------------------------------+ jj <> jj
ooooo +---------------------------------------------------------+ jj jj
o yyyyyy jjjj
o ww - notice diagonal border, allowed
o ww jjjjjjjj
o yyyyyy ooooo ooooo jjjjjj
ooooo o yyyyyy o yyyyyy jjjj
o ww o ww jj jj
o ww o ww j j
o yyyyyy o yyyyyy jj <> jj
ooooo ooooo jj jj
jjjj
解:
qq ooooo jjjjjjjj <--> \/ +---------------------------------------------------------+
qq o yyyyyy jjjjjj +-----+ +---------------------------------------------------------+
o ww jjjj <--> + |
qq o ww jj jj | |
qq o yyyyyy j j <--> | |
ooooo jj <> jj +-------+
qq jj jj
qq ooooo jjjj \/
o yyyyyy +-----+
qq o ww jjjjjjjj + |
qq o ww jjjjjj | |
o yyyyyy jjjj | |
qq ooooo jj jj +-------+
qq j j
ooooo jj <> jj
qq o yyyyyy jj jj
qq o ww jjjj
o ww
qq o yyyyyy jjjjjjjj
qq ooooo jjjjjj
jjjj
qq jj jj
qq j j
jj <> jj
qq jj jj
qq jjjj
请注意,列之间有1个字符,并且在顶部水平对齐。还要注意,每个糖果都在精确的列中,每个糖果之间有1个字符。
计分
这是代码高尔夫球,因此最短的程序(以字节为单位)获胜。
1您还会做什么?显然,您想在收集到的糖果中显示出惊人的威力和力量,对吗?
2我知道您在想什么!鱼必须通过弯曲的碗看着您的糖果,因此无论如何它都会变形!好吧,我的鱼在死之前住在一个长方形的水族馆里。
由于未连接左侧,因此该区域仅是边界厚度X周长吗?
—
Optimizer
@Optimizer是的,尽管一块糖果的边框厚度可能会有所不同。上面的例子有区域24
—
拉伸狂