.i xu .e'o lo zunsnagri com drani loka jboge'a
Dada a entrada de uma sequência composta por dois caracteres, mostre se é um cluster consoante válido no Lojban.
Aqui está uma citação do CLL 3.6 detalhando as regras para um par de cluster consoante válido (ou melhor, um par inválido ):
1) It is forbidden for both consonants to be the same, as this would
violate the rule against double consonants.
2) It is forbidden for one consonant to be voiced and the other unvoiced.
The consonants “l”, “m”, “n”, and “r” are exempt from this restriction.
As a result, “bf” is forbidden, and so is “sd”, but both “fl” and “vl”,
and both “ls” and “lz”, are permitted.
3) It is forbidden for both consonants to be drawn from the set “c”, “j”,
“s”, “z”.
4) The specific pairs “cx”, “kx”, “xc”, “xk”, and “mz” are forbidden.
A citação faz referência a consoantes "sonoras" e "não sonoras". Aqui está uma tabela das consoantes não sonoras e suas contrapartes sonoras (também da CLL 3.6):
UNVOICED VOICED
p b
t d
k g
f v
c j
s z
x -
Observe que {x} não possui contrapartida com voz. Para ser completo, as consoantes restantes que não estão nessa lista (que podem ser dubladas ou não dubladas para os fins da cotação) são lmnr
. ( y
é uma vogal e as letras
hqw
não são usadas.)
A entrada deve ser uma única sequência, mas você pode assumir que sempre consistirá em exatamente duas consoantes, com nova linha à direita opcional, se desejar. A saída pode ser qualquer valor verdadeiro ou falso .
Isso é código-golfe , então o código mais curto em bytes vence.
Casos de teste (todas essas cadeias de entrada possíveis são colocadas nas categorias apropriadas):
Valid consonant clusters:
bd bg bj bl bm bn br bv bz cf ck cl cm cn cp cr ct db dg dj dl dm dn dr dv
dz fc fk fl fm fn fp fr fs ft fx gb gd gj gl gm gn gr gv gz jb jd jg jl jm
jn jr jv kc kf kl km kn kp kr ks kt lb lc ld lf lg lj lk lm ln lp lr ls lt
lv lx lz mb mc md mf mg mj mk ml mn mp mr ms mt mv mx nb nc nd nf ng nj nk
nl nm np nr ns nt nv nx nz pc pf pk pl pm pn pr ps pt px rb rc rd rf rg rj
rk rl rm rn rp rs rt rv rx rz sf sk sl sm sn sp sr st sx tc tf tk tl tm tn
tp tr ts tx vb vd vg vj vl vm vn vr vz xf xl xm xn xp xr xs xt zb zd zg zl
zm zn zr zv
Invalid consonant clusters:
bb bc bf bk bp bs bt bx cb cc cd cg cj cs cv cx cz dc dd df dk dp ds dt dx
fb fd ff fg fj fv fz gc gf gg gk gp gs gt gx jc jf jj jk jp js jt jx jz kb
kd kg kj kk kv kx kz ll mm mz nn pb pd pg pj pp pv pz rr sb sc sd sg sj ss
sv sz tb td tg tj tt tv tz vc vf vk vp vs vt vv vx xb xc xd xg xj xk xv xx
xz zc zf zj zk zp zs zt zx zz