Ваша задача сьогодні - взяти такий внесок:
fbcfbee
ffcabbe
debceec
bccabbe
edcfbcd
daeaafc
eebcbeb
І виведіть найкращий можливий хід у грі Bejeweled, яка буде відповідати трьом і більше літерам, як це (зверніть увагу на велику B
і C
)
fbcfbee
ffcabbe
deBCeec
bccabbe
edcfbcd
daeaafc
eebcbeb
Повні технічні характеристики:
- Вхід буде
n
рядками зn
малих літер кожна (деn
може бути будь-яка цифра). - Вихід буде найкращим кроком, який ви могли зробити в грі в матчі-3, з двома літерами, які ви хочете змінити з великої літери.
Матчі повинні мати такий пріоритет (у цих прикладах
.
вказується квадрат, який не має значення):П’ять в ряд
xxYxx ..X..
Розбита п’ять в ряд
X.. Yxx x.. x..
або
.X. xYx .x. .x.
Чотири в ряд
xYxx .X..
Три в ряд
xYx .X.
Ви повинні знайти відповідність з найвищим пріоритетом і вивести її.
- Якщо є кілька збігів одного і того ж пріоритету, ви можете вивести будь-яку з них.
- Завжди буде щонайменше один матч (ваша програма може розірватися, якщо немає відповідностей, або робити все, що завгодно).
- Введення / виведення може бути у будь-якому розумному форматі (stdin / out, читання та запис файлів, аргументи функцій / повернення значень, діалогові вікна тощо), але НЕ жорстко кодується (як
x="[insert input here]"
). - Це код-гольф, тому найкоротший код в байтах виграє. Якщо ви використовуєте будь-який доступ до мережі з якоїсь причини, всі байти, завантажені з мережі, рахуються з вашим рахунком.
1
+1, але я протестую проти титулу; може бути кращий крок. Наприклад, та, яка створює дві п'ятірки, або та, яка спричиняє краплю, щоб створити більше матеріалів.
—
Джастін
Чи покривається також розбита п'ять в ряд
—
Пітер Тейлор
..x.\nxxYX\n..x.
?
@Peter Так, це так.
—
Дверна ручка
Існує 2 ламаних 5 у рядці: L і T. Ви вимагаєте, щоб обидва були узгоджені?
—
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
@nhahtdh Так, я редагую, щоб уточнити це.
—
Дверна ручка