Игровой алгоритм решения (Buttonia, покидает в спешке вариант),

Поддержка областей в крупном приложении абсолютно жизненно важна, по-моему. Кажется довольно странным мне, что Microsoft предназначает при выпуске ASP.NET MVC 1.0 без созданного в поддержке областей.

, К счастью, в чем MVC испытывает недостаток в возможности, которую он восполняет в расширяемости. Например, в Архитектуре S#arp, как Asaf кратко упомянул, я взял руководство от Phil Haack ( http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx ) и Steve Sanderson ( http://blog.codeville.net/2008/11/05/app-areas-in-aspnet-mvc-take-2/ ), но изменил объединенный результат поддерживать области непосредственно под папкой представления. (Мне не нравилось это была отдельная папка "Areas" для содержания областей представления.), Другими словами, если Вы создаете область "Animals" с соответствующим контроллером Животные. AardvarksController, Ваша папка Views отразила бы Представления/Животных/Муравьедов.

, Если бы Вы не интересуетесь использованием всей Архитектуры S#arp, я поощрил бы Вас, по крайней мере, проверять, как области были реализованы в этой платформе для использования в Вашем собственном приложении. Соответствующие нормы включают:

Кстати, Архитектура S#arp включает генератор лесов CRUD, который принимает во внимание вложенные пространства имен автоматически. Как упомянутый Asaf, можно узнать больше об этом в http://code.google.com/p/sharp-architecture/

Billy McCafferty

6
задан Community 23 May 2017 в 12:13
поделиться

4 ответа

Это система линейных уравнений над F 2 , полем, содержащим два элемента 0 и 1.

Вы можете решить ее так же, как обычные линейные уравнения, но вы должны выполнить арифметику по модулю 2.

Редактировать: Линейная алгебра в этом случае работает точно так же, как и для действительных чисел, за исключением того, что вам нужно заменить операции:

  • Сложение и вычитание становятся исключающими или, т.е. 0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 0.

  • Умножение становится И: 0 * 0 = 0, 0 * 1 = 0, 1 * 1 = 1

  • Деление возможно только на единицу: 0/1 = 0, 1/1 = 1.

Все коэффициенты в ваших уравнениях и возможные значения неизвестных равны 0 или 1.

Таким образом, модуль не накладывается на внешнюю сторону уравнений, как вы написали, он подразумевается в операциях.

Если ваша система уравнения не разрешимы, вы получите уравнение 0 = 1, которое, очевидно, не разрешимо.

4
ответ дан 17 December 2019 в 00:12
поделиться

Поскольку это не ограниченная по времени проблема (ну, если предположить, что это можно сделать менее чем за день), я, вероятно, выбрал бы поиск в ширину с ограниченной глубиной, взяв каждый возможное движение на уровне, а затем каждое движение, следующее за каждым ходом.

Это будет медленным, однако почти гарантированно найти ответ, если он есть!

0
ответ дан 17 December 2019 в 00:12
поделиться

Это выглядит почти как система линейных уравнений (за исключением мода 2), поэтому вы можете адаптировать один из обычных методов для их решения - например, сокращение строки системы в матрице форма (википедия) .

1
ответ дан 17 December 2019 в 00:12
поделиться

Вместо того, чтобы начинать со случайного состояния, почему бы не сгенерировать начальную позицию, щелкая случайными переключателями, т.е. работать в обратном направлении от решенного состояния к начальному состоянию. Таким образом вы будете создавать только решаемые головоломки.

2
ответ дан 17 December 2019 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: