«Предположим, вы хотите построить сплошную панель из рядов блоков 4 × 1 и 6 × 1 Lego. Для структурной прочности промежутки между блоками никогда не должны выстраиваться в соседние строки. Например, 18 × 3 панель, показанная ниже, неприемлема, поскольку промежутки между блоками в верхних двух рядах выстраиваются в линию.Кто-нибудь видел загадку программирования, подобную этому?
Существует 2 способа построения панели 10 × 1, 2 способа построения панели 10 × 2, 8 способов построить панель размером 18 × 3 и 7958 способов построить панель 36 × 5.
Сколько различных способов построить панель размером 64 × 10? Ответ будет соответствовать 64-разрядному значению целого числа. программа для расчета ответа. Ваша программа должна работать очень быстро - конечно, она не должна занимать больше одной минуты, даже на более старая машина. Сообщите нам значение, которое вычислила ваша программа, как долго потребовалась ваша программа для вычисления этого значения и на какой машине вы ее запускали. Включите исходный код программы в качестве вложения. «
Я недавно получил программистскую головоломку и пытался уловить мои мозги, пытаясь ее решить. Я написал код с использованием C++, и я знаю, что число огромно ... моя программа заработала несколько часов, прежде чем я решил просто чтобы остановить его, потому что это требование составляло 1 минуту времени работы даже на медленном компьютере. Кто-нибудь видел головоломку, подобную этому? Прошло несколько недель, и я не могу передать это больше, но это действительно было прослушивание что я не мог решить это правильно. Любые предложения по использованию алгоритмов или возможно возможные способы его решения, которые «вне коробки». Я прибегал к созданию программы, которая строила каждый возможный «слой» 4x1 и 6x1, чтобы сделать слой 64x1. Это оказалось около 3300 разных слоев. Затем я пропустил свою программу и уложил их во все возможные 10-слойные высокие стены, у которых нет трещин, которые line up ..., поскольку вы можете видеть, что это решение займет много времени, долго и долго. Таким образом, очевидно, что грубая сила, по-видимому, не эффективна в решении этого вопроса в течение времени. Любые предложения/проницательность будут с благодарностью оценены.
Должны ли быть изображения здесь? Я не вижу. Я предполагаю, что это потому, что вам не разрешено размещать изображения, если у вас не более 15 членов. – gnovice
. Целочисленное разбиение может быть частью решения: http://en.wikipedia.org/wiki/Integer_partition – outis
Я думаю, что ваш 3,300 цифра неправильная, она ближе к 47 000 на основе программы, которую я взбивал. Возможно, вы не учли порядок. – paxdiablo