Вступ
Майже всі знайомі з проблемою продавця подорожей (TSP). Завдання полягає в тому, щоб, задавши перелік Nміст, знайти мінімальний гамільтонівський цикл, який означає найкоротший шлях, який відвідує кожне місто і повертається повним колом до початку. Це не те, в чому полягає цей виклик. Це завдання полягає в тому, щоб реалізувати Чак Норріс рішення для ТСПА:
Чак Норіс
O(1)вчасно вирішив проблему продавця подорожі : розбити продавця на N частини; киньте кожен твір в інше місто.
Виклик
Щоб вирішити TSP таким чином, нам потрібен достатньо міцний продавець, який не ухилятиметься від легковажності, як розчленування; ряд міст, які потрібно відвідати; набір товарів для продажу; конкретний метод розчленування; і розрахунок за рахунок.
Специфікація
- Міста
Nце кількість цитат, які відвідає наш Продавець
- Продавець
- Основна програма або функція
- Написано мовою
X - При довжині мода
Nдорівнює0
- Продукція
- Розчленування
- Нарізання продавця на
Nсуцільні шматки однакової довжини - Кожен фрагмент має бути дійсною мовою або програмою
X
- Нарізання продавця на
- Вихідні дані
- Після виконання Продавець повинен вивести,
Chuck Norrisа нарізані шматки повинні вивести окремий товар - Допустимий лише додатковий простір білого кольору
- Після виконання Продавець повинен вивести,
- Оцінка балів
- Довжина
Lпродавця в байтах, поділена на кількість містN, у квадраті. Score = L/(N*N)- Найменший рахунок виграє
- Будь ласка, додайте 3 значущі цифри, коли публікуєте свій десятковий бал
- Довжина
Приклади
- Цей продавець відвідує 3 міста так,
N=3і він має довжину 9L=9. Таким чином, оцінка за цю відповідь була бS = 9 / (3 * 3) = 9/9 = 1.- Зауважте, що продавець і кожен нарізаний фрагмент (яких є 3) повинні бути дійсними програмами або функціями однією і тією ж мовою.
Program -> Output
------- ------
aaaBBBccc -> Chuck Norris
aaa -> Helium
BBB -> Iridium
ccc -> Tennessine
N=4іL=20такS=20/16=1.25
Program -> Output
------- ------
aaaaaBBBBBcccccDDDDD -> Chuck Norris
aaaaa -> Hydrogen
BBBBB -> Cadmium
ccccc -> Mercury
DDDDD -> Iron

ElementDataдозволені такі вбудовані модулі, як Mathematica ? (Я сумніваюся, що це значно заощадить, але я не знаю.)