Дадени са две числа: начало и край. Напишете програма, която генерира всички комбинации от 5 букви, всяка измежду множеството {'a', 'b', 'c', 'd', 'e'}
, така че теглото на тези 5 букви да е число в интервала [начало … край]
, включително. Принтирайте ги по азбучен ред, на един ред, разделени с интервал.
Теглото на една буква се изчислява по следния начин:
weight('а') = 5;
weight('b') = -12;
weight('c') = 47;
weight('d') = 7;
weight('e') = -32;
Теглото на редицата от букви c1, c2, …, cn
е изчислено, като се премахват всички букви, които се повтарят (от дясно наляво), и след това се пресметне формулата:
weight(c1c2…cn) = 1 * weight(c1) + 2 * weight(c2) + … + n * weight(cn)
Например, теглото на bcddc
се изчислява по следния начин:
Първо премахваме повтарящите се букви и получаваме bcd
. След това прилагаме формулата: 1 * weight('b') + 2 * weight('c') + 3 * weight('d') = 1 * (-12) + 2 * 47 + 3 * 7 = 103
.
Друг пример: weight("cadae") = weight("cade") = 1 * 47 + 2 * 5 + 3 * 7 + 4 * (-32) = -50
.
Входните данни се четат от конзолата. Състоят се от две числа:
Входните данни винаги ще бъдат валидни и винаги ще са в описания формат. Няма нужда да се проверяват.
Резултатът трябва да бъде принтиран на конзолата като поредица от низове, подредени по азбучен ред. Всеки низ трябва да бъде отделен от следващия с едно разстояние. Ако теглото на нито един от 5 буквените низове не съществува в зададения интервал, принтирайте “No”.
Вход | Изход | Коментар |
---|---|---|
40 42 |
bcead bdcea | weight(“bcead”) = 41 weight(“bdcea”) = 40 |
Вход | Изход |
---|---|
-1 1 |
bcdea cebda eaaad eaada eaadd eaade eaaed eadaa eadad eadae eadda eaddd eadde eadea eaded eadee eaead eaeda eaedd eaede eaeed eeaad eeada eeadd eeade eeaed eeead |
Вход | Изход |
---|---|
200 300 |
baadc babdc badac badbc badca badcb badcc badcd baddc bbadc bbdac bdaac bdabc bdaca bdacb bdacc bdacd bdadc bdbac bddac beadc bedac eabdc ebadc ebdac edbac |
Вход | Изход |
---|---|
300 400 |
No |