| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Постройка графов вершин додекаэдра и экосаэдра |
| Автор: AleksIvanych 13.8.2009, 05:24 | ||
| САБЖ. Каждый элемент графа имеет уникальный номер от 1 до 20 (для додекаэдра) или 12 (для икосаэдра). Номера должны быть случайные. Граф хранится в структуре вроде:
В данном случае number в структуре должен быть равен номеру этой структуры в массиве rooms. В lead_to номера смежных элементов графа. Может быть, кто-нибудь знает, как это сделать? Для справки: Додекаэдр - http://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%B4%D0%B5%D0%BA%D0%B0%D1%8D%D0%B4%D1%80 Икосаэдр - http://ru.wikipedia.org/wiki/%D0%98%D0%BA%D0%BE%D1%81%D0%B0%D1%8D%D0%B4%D1%80 |
| Автор: Cheloveck 13.8.2009, 07:26 |
| boost.graph Добавлено через 38 секунд если на C++ |
| Автор: maxim1000 13.8.2009, 08:37 |
| построить вручную один раз, потом случайным образом перенумеровывать вершины (это если не найдётся простого и красивого способа построить алгоритмически) |
| Автор: AleksIvanych 13.8.2009, 16:11 |
| Cheloveck Можно поподробнее? Я ведь этой библиотекой никогда не пользовался, а в английской документации буду разбираться несколько дней. Я правильно вас понял, там есть нужный мне алгоритм? maxim1000 Ну я так и сделал в качестве workaround'а. Но надо ведь все правильно сделать. |
| Автор: Cheloveck 13.8.2009, 18:49 |
| В http://rgbooks.ru/books/557-Sik_Dzh,_Li_L,_Lamsdeyn_E_-_C++_Boost_Graph_Library_(2006)(ru) книжечке) всё толково расписано. Кроме самих графов, там есть хорошее руководство по обобщённому программированию. |