1403 : 节拍
时间限制:1 Sec 内存限制:128 MiB 提交:9 正确:7
题目描述
欢迎来到Enal的音乐小课堂,接下来Enal将讲解节拍的概念以及节拍的划分。
每个音符都有固定的时值(即演奏这个音符所需的时间,单位为“拍”),以下是不同时值的音符:
"x":四分音符,时值为$1$拍;
"x-":二分音符,时值为$2$拍;
"x---":全音符,时值为$4$拍;
"x_":八分音符,时值为$0.5$拍;
"x-.":附点二分音符,时值为$3$拍;
"x.":附点四分音符,时值为$1.5$拍;
"x_.":附点八分音符,时值为$0.75$拍;
"x__":十六分音符,时值为$0.25$拍。
以上是本题需要用到的不同时值的音符。这些音符通过排列组合,形成了节奏,如:"x- x- x---"。相邻两个音符之间用一个空格隔开。
所谓“节拍”,是指每一小节都有时值总和为$k$的音符。例如,对于"x--- x- x-",如果每小节有$4$拍,则被划分为"x--- / x- x-"。划分符"/"与相邻的音符之间有一个空格。如果一段连续的音符的节拍总数无法等于规定的数值,则将导致超过小节拍数限制的最后一个音符拆成两份。例如:把"x-. x- x-."划分成每小节$4$拍,则将第$2$个音符划分为两个"x",从而划分为"x-. x / x x-."。
输入描述
输入分多组测试数据,第一行输入$T$,表示有$T$组测试数据。
接下来每一组测试数据,第一行输入$n,m$,表示一共有$n$个音符,需要被划分为每小节$m$拍。
第二行输入一段节奏。
$1 \leq T \leq 10$。$1 \leq n \leq 20$,$1 \leq m \leq 8$
输入保证音符的时值总和可以被$m$整除。
输出描述
对于每一组测试数据,在一行内输出划分好的节奏。划分的标志为"/",且与相邻音符之间有一个空格。
样例输入
2 7 4 x--- x- x- x x x x 5 2 x. x x_ x- x-.
样例输出
x--- / x- x- / x x x x x. x_ / x_ x_ x / x x / x-
来源
Enal