Попробуйте file_size на обоих концах выводить на экран. И вообще отладочного вывода вставить побольше. Оно падает сразу же, или часть файла отправяет/передает?
historydev, Ну тогда это решение вполне оправдано. Но названия у него особого нет. Может быть, Хеш-таблица с кешем для итерации. В каких-то языках в стандартных библиотеках хеш-таблицы, скорее всего, прямо так и реализованы. Ибо хранить толстые объекты прямо в слабо заполненной таблице дорого. Там хранят указатели, или индексы, а сами элементы лежат где-то рядом в массиве.
Михаил, Можно что угодно разместить где угодно. Удобнее ли это будет - отдельный вопрос. И вообще, если у вас другая задачка, лучше задайте ее отдельным вопросом.
ffff567, двигаем вправо. Обрабатываем справа налево.
Смотрите код. Сдвиг происходит за счет прибавления a[current] к a[current+1] и зануления прошлой позиции. Это одновременно сдвигает элемент на место нуля вправо и объединяет пару одинаковых элементов.
Что значит, "двигать ноль"? Там же нет ничего. Но просто в этом алгоритме мы считаем, что можно значение сдвинуть, если дальше пустота (0) или такое же значение. Но для двух 0 подряд это условие выполняется. Однако двигать-то нечего, после выполнения сложения, у вас остается такой же массив в двумя нулями подряд.
Мы двигаем все числа по одному, справа-налево, пока можем. Если не можем текущее число двигать, переходим к более левому.
Ирина Грачева, Пополам делиться потому что в дп считаются оба варианта раскраски корня. Любая раскраска имеет двойника - можно все цвета инвертировать.
Но во время счета нам надо взять количество раскрасок поддерева со строго одним фиксированным цветом в корне. Например, когда мы считаем k, у нас есть k от отца. Теперь нам надо это домножить на варианты раскрасить поддерево в ребенке без изолированных вершин, но ребенок должен быть другого цвета! Поэтому берём n и делим на 2, чтобы выкинуть все варианты с совпадающим цветом.
Ошибка редкая и странная. Система разрывает соединение, потому что что-то сломалось. Кончилось место в буфере, keep-alive не проходят и т.д.
Возможно фаервол или антивирус что-то бокируют?
Или какие-то разные потоки пытаются что-то одновременно сделать с сокетами?