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