Текущий архив: 2008.01.27;
Скачать: CL | DM;
Вниз
Помогите дорешать задачу, пожалуйста... Найти похожие ветки
← →
Lip (2007-12-19 02:11) [0]Куб состоит из n^3 прозрачных и непрозрачных элементарных кубиков. Имеется хотя бы один просвет по каждому из направлений? Если это так, вывести координаты каждого просвета.
Куб представлен трехмерным массивом: array [1..n, 1..n, 1..n] of Byte;
0 - просвет
1 - стена
...
type
TCube = array [1..n, 1..n, 1..n] of Byte;
...
Проверяю наличие проствета так:function Check(const a: TCube; const n: Integer): Boolean;
var
i, j, k: Byte;
line: Boolean;
begin
Check := True;
for i := 1 to n do
for j := 1 to n do
begin
line := True;
for k := 1 to n do
if a[i, j, k] = 1 then
begin
line := False;
Break;
end;
if line then
Exit;
line := True;
for k := 1 to n do
if a[i, k, j] = 1 then
begin
line := False;
Break;
end;
if line then Exit;
end;
Check := False;
end;
Что-то запутался совсем, не знаю уже как сделать...
Помогите, пожалуйста!
← →
oldman © (2007-12-19 10:36) [1]Всего надо проверить 3n^2 направлений.
Нарисуй на бумаге куб и направления.
Все встанет на свои места.
Страницы: 1 вся ветка
Текущий архив: 2008.01.27;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c