powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обход прямоугольника по спирали. Поиск более подходящего алгоритма
25 сообщений из 88, страница 1 из 4
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38765570
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Решал сегодня достаточно простую задачу, но решил её не оптимально. Привожу ссылку на саму задачу .

Вот как я её решаю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
#include <stdio.h>
#include <stdlib.h>

/*
 *На входе спираль в двумерном массиве(spiral,m,n), указатели на текущее положение в спирали(i,j),
 *статус движения с пирали: 0-вправо,1-вниз,2-влево,3-вверх
 *Функция изменяет значения текущего положения в спирали(i,j), 
 *при необходимости изменяется статус движения. Устанавливает уже пройденные значения в 1.
 *При успешном завершении функции возвращается 0.
 */
int move_on_square_spiral(int* s, int n, int m, int* cur_i, int* cur_j, int* cur_state)
{
	int i = *cur_i;
	int j = *cur_j;
	int state = *cur_state % 4;

	if (state == 0) //вправо
	{
		if (j < m-1 && s[i*m + j + 1]!= 1)
		{
			s[i*m + j + 1] = 1;
			*cur_j += 1;
		}
		else
		{
			s[(i + 1)*m + j]=1;
			*cur_i += 1;
			*cur_state += 1;
		}
	}
	else if (state==1)//вниз
	{
		if (i < n-1 && s[(i+1)*m+j] != 1)
		{
			s[(i + 1)*m + j]=1;
			*cur_i += 1;
		}
		else
		{
			s[i*m + j-1] = 1;
			*cur_j -= 1;
			*cur_state += 1;
		}
	}
	else if (state == 2)//влево
	{
		if (j > 0 && s[i*m+j-1] != 1)
		{
			s[i*m + j - 1] = 1;
			*cur_j -= 1;
		}
		else
		{
			s[(i - 1)*m + j] = 1;
			*cur_i -= 1;
			*cur_state += 1;
		}
	}
	else if (state == 3)//вверх
	{
		if (i > 0 && s[(i-1)*m+j] != 1)
		{
			s[(i - 1)*m + j] = 1;
			*cur_i -= 1;
		}
		else
		{
			s[i*m + j+1] = 1;
			*cur_j += 1;
			*cur_state += 1;
		}
	}
	return 0;
}

int main(int argc, char** argv)
{
	FILE* in = fopen("input.txt", "r");
	if (!in)
	{
		printf("File 'input.txt' not found.\n");
		return 0;
	}

	//чтение и запись входных параметров
	int n, m;
	int end_i, end_j;
	fscanf(in, "%i %i", &n, &m);
	fscanf(in, "%i %i", &end_i, &end_j);
	fclose(in);

	end_i -= 1;
	end_j -= 1;

	//инициализация спирали
	int* a = (int*)calloc(n*m, sizeof(int));
	a[0] = 1;

	//основная часть
	int res = 1;
	int cur_i = 0, cur_j = 0;
	int cur_state = 0;

	while (!(cur_i==end_i && cur_j==end_j))
	{
		move_on_square_spiral(a, n, m, &cur_i, &cur_j, &cur_state);
		res += 1;
	}

	FILE* out = fopen("output.txt", "w");
	fprintf(out, "%i", res);
	fclose(out);
	
	return 0;

}



Очевидно что алгоритм не оптимален. Мне в голову пришёл другой способ решения данной задачи,


Элементы суммы есть количество элементов прямоугольников окружающих прямоугольник содержащий нужную координату, дельта-сдвиг внутри прямоугольника содержащего нужный элемент. Мне кажется что данный алгоритм вполне можно реализовать. Так ли это ?

Приходят ли вам в голову ещё какие-либо способы решения данной задачи ?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38765571
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, мой код можно оптимизировать, только пока я не решил как, и стоит ли это делать.
Возможно вы реализовали бы по-другому уже реализованный алгоритм ?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38765572
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Память забыл освободить. Прошу прощение (это все после перелета((( ).
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38765694
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помню, в 1990-ом писал змею в лабиринте
очень интересно было
:)
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38765970
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryПамять забыл освободить. Прошу прощение (это все после перелета((( ).
Саш ты как всегда наколбасил тучу ненужного кода. У тебя в функции move_on_square_spiral
идёт сплошная копи-паста одного и того-же расчётного блока с небольшими изменениями вектора
движения который ты прибавляешь к cur_i, cur_j.

Не нужно быть Фаулером чтобы сказать что это код "смердит" и срочно требует рефакторингов.

Кстати почитай про Аффинные преобразования на плоскости и в частности
Поворот вектора на 90 градусов.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766176
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

Меня интересуют другие методы или реализации. Вы можете предложить что-нибудь более конкретное ?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766182
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurymayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

Меня интересуют другие методы или реализации. Вы можете предложить что-нибудь более конкретное ?
Конкретное? Вечером я допью чай. И как покромсаю твой сорц.
Ожидаю чуть более чем наполовину сокращение количества
ненужных символов.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766275
nolocky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurymayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

Меня интересуют другие методы или реализации. Вы можете предложить что-нибудь более конкретное ?

вообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.

когда вы уже отучитись от "стиля" их 70-х годов?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766321
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nolockyвообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.
По вашему... можно-ли взять за правило - переписывать любой I/O на mmap?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766583
nolocky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnolockyвообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.
По вашему... можно-ли взять за правило - переписывать любой I/O на mmap?

В современном мире - да. Есть только одна задача, где это не нужно делать - это syslog

Для сети же есть splice и sendfile, там тоже, внезапно, все вокруг mmap
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766771
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nolockySashaMercurymayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

Меня интересуют другие методы или реализации. Вы можете предложить что-нибудь более конкретное ?

вообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.

когда вы уже отучитись от "стиля" их 70-х годов?

Я уверен в том, что не вы определяете правила приличного общества
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766848
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

не отлаживал, тест прошла - и ладно )

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
function CellCount(M, N, X, Y: integer): integer;
var
  Top, Right, Bottom, Left, Direction, LoopCount: integer;
begin;
  Top:=Y-1; Right:=M-X; Bottom:=N-Y; Left:=X-1;
  LoopCount:=Top; DiRection:=0;
  if LoopCount>Right then begin; LoopCount:=Right; Direction:=1; end;
  if LoopCount>Bottom then begin; LoopCount:=Bottom; Direction:=2; end;
  if LoopCount>Left then begin; LoopCount:=Left; Direction:=3; end;
  Result:=0;
  if LoopCount>0 then Result:=2*(M+N-2*LoopCount)*LoopCount;
  if Direction=0 then Result:=Result+X-LoopCount
  else begin;
    Result:=Result+M-2*LoopCount-1;
    if Direction=1 then Result:=Result+Y-LoopCount
    else begin;
      Result:=Result+N-2*LoopCount-1;
      if Direction=2 then Result:=Result+M-LoopCount-X
      else begin;
        Result:=Result+M-2*LoopCount-1;
        Result:=Result+N-LoopCount-Y;
        end;
      end;
    end;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin;
  Memo1.Lines.Add(Format('%d %d %d %d %d',[1,1,1,1,CellCount(1,1,1,1)]));
  Memo1.Lines.Add(Format('%d %d %d %d %d',[3,3,2,3,CellCount(3,3,3,2)]));
  Memo1.Lines.Add(Format('%d %d %d %d %d',[5,5,2,3,CellCount(5,5,3,2)]));
  Memo1.Lines.Add(Format('%d %d %d %d %d',[5,5,3,3,CellCount(5,5,3,3)]));
  end;
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766849
nolocky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynolockyпропущено...


вообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.

когда вы уже отучитись от "стиля" их 70-х годов?

Я уверен в том, что не вы определяете правила приличного общества

Конечно не я, разве я где-то говорил, что использовать mmap - это правило, придуманное лично мною?

Ты неудачно решил показаться умным. У тебя это не получилось.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766870
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

вкралась пара неточностей с обратным ходом, исправил
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
function CellCount1(M, N, X, Y: integer): integer;
var
  Top, Right, Bottom, Left, Direction, LoopCount: integer;
begin;
  Top:=Y-1; Right:=M-X; Bottom:=N-Y; Left:=X-1;
  LoopCount:=Top; DiRection:=0;
  if LoopCount>Right then begin; LoopCount:=Right; Direction:=1; end;
  if LoopCount>Bottom then begin; LoopCount:=Bottom; Direction:=2; end;
  if LoopCount>Left then begin; LoopCount:=Left; Direction:=3; end;
  Result:=0;
  if LoopCount>0 then Result:=2*(M+N-2*LoopCount)*LoopCount;
  if Direction=0 then Result:=Result+X-LoopCount
  else begin;
    Result:=Result+M-2*LoopCount-1;
    if Direction=1 then Result:=Result+Y-LoopCount
    else begin;
      Result:=Result+N-2*LoopCount-1;
      if Direction=2 then Result:=Result+M-LoopCount-X+1
      else begin;
        Result:=Result+M-2*LoopCount-1;
        Result:=Result+N-LoopCount-Y+1;
        end;
      end;
    end;
  end;



или эквивалентная версия через case
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function CellCount2(M, N, X, Y: integer): integer;
var
  Top, Right, Bottom, Left, Direction, LoopCount: integer;
begin;
  Top:=Y-1; Right:=M-X; Bottom:=N-Y; Left:=X-1;
  LoopCount:=Top; DiRection:=0;
  if LoopCount>Right then begin; LoopCount:=Right; Direction:=1; end;
  if LoopCount>Bottom then begin; LoopCount:=Bottom; Direction:=2; end;
  if LoopCount>Left then begin; LoopCount:=Left; Direction:=3; end;
  Result:=0;
  if LoopCount>0 then Result:=2*(M+N-2*LoopCount)*LoopCount;
  case Direction of
    0: Result:=Result+X-LoopCount;
    1: Result:=Result+Y-3*LoopCount+M-1;
    2: Result:=Result-X-5*LoopCount+2*M+N-1;
    3: Result:=Result-Y-7*LoopCount+2*M+2*N-2;
    end;
  end;
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766895
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nolockySashaMercuryпропущено...


Я уверен в том, что не вы определяете правила приличного общества

Конечно не я, разве я где-то говорил, что использовать mmap - это правило, придуманное лично мною?

Ты неудачно решил показаться умным. У тебя это не получилось.

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

Администрация, я ещё раз отмечаю, его сообщение выше очевидная провокация. Примите меры к этому пользователю.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766896
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovAleksandr Sharahov,

вкралась пара неточностей с обратным ходом, исправил
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
function CellCount1(M, N, X, Y: integer): integer;
var
  Top, Right, Bottom, Left, Direction, LoopCount: integer;
begin;
  Top:=Y-1; Right:=M-X; Bottom:=N-Y; Left:=X-1;
  LoopCount:=Top; DiRection:=0;
  if LoopCount>Right then begin; LoopCount:=Right; Direction:=1; end;
  if LoopCount>Bottom then begin; LoopCount:=Bottom; Direction:=2; end;
  if LoopCount>Left then begin; LoopCount:=Left; Direction:=3; end;
  Result:=0;
  if LoopCount>0 then Result:=2*(M+N-2*LoopCount)*LoopCount;
  if Direction=0 then Result:=Result+X-LoopCount
  else begin;
    Result:=Result+M-2*LoopCount-1;
    if Direction=1 then Result:=Result+Y-LoopCount
    else begin;
      Result:=Result+N-2*LoopCount-1;
      if Direction=2 then Result:=Result+M-LoopCount-X+1
      else begin;
        Result:=Result+M-2*LoopCount-1;
        Result:=Result+N-LoopCount-Y+1;
        end;
      end;
    end;
  end;



или эквивалентная версия через case
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function CellCount2(M, N, X, Y: integer): integer;
var
  Top, Right, Bottom, Left, Direction, LoopCount: integer;
begin;
  Top:=Y-1; Right:=M-X; Bottom:=N-Y; Left:=X-1;
  LoopCount:=Top; DiRection:=0;
  if LoopCount>Right then begin; LoopCount:=Right; Direction:=1; end;
  if LoopCount>Bottom then begin; LoopCount:=Bottom; Direction:=2; end;
  if LoopCount>Left then begin; LoopCount:=Left; Direction:=3; end;
  Result:=0;
  if LoopCount>0 then Result:=2*(M+N-2*LoopCount)*LoopCount;
  case Direction of
    0: Result:=Result+X-LoopCount;
    1: Result:=Result+Y-3*LoopCount+M-1;
    2: Result:=Result-X-5*LoopCount+2*M+N-1;
    3: Result:=Result-Y-7*LoopCount+2*M+2*N-2;
    end;
  end;




Спасибо :) Скоро займусь вашей реализацией
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766900
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov, а можно услышать ваши комментарии по вашей реализации ?)
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766909
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

вот это еще посмотрите:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function CellCount3(M, N, X, Y: integer): integer;
var
  T: integer;
begin;
  Result:=0;
  while Y<>1 do begin;
    Result:=Result+M;
    T:=Y-1; Y:=M-X+1; X:=T;
    T:=N-1; N:=M; M:=T;
    end;
  Result:=Result+X;
  end;
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766915
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryAleksandr Sharahov, а можно услышать ваши комментарии по вашей реализации ?)

CellCount1, CellCount2 в вычисляют количество клеток в полных обходах как разность площадей двух прямоугольников M*N и (M-2*LoopCount)*(N-2*LoopCount), а затем делают неполный проход по сторонам внутреннего прямоугольника.

CellCount3 в цикле срезает верхний слой прямоугольника и поворачивает прямоугольник на 90 до тех пор пока точка не окажется в этом слое, а затем прибавляет расстояние до нее.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766932
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте пожалуйста прямоугольник 10 3 , точка 5 2, и прямоугольник 100 000 100 000, точка 50000 50000
Сейчас сам не могу этого сделать, пишу не с того компьютера где это возможно, и меня уже заставляют его выключать(
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766939
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryПроверьте пожалуйста прямоугольник 10 3 , точка 5 2, и прямоугольник 100 000 100 000, точка 50000 50000
Сейчас сам не могу этого сделать, пишу не с того компьютера где это возможно, и меня уже заставляют его выключать(

26
1410065405
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38766981
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данной задаче я проглядел одно важное условие - в каждой клетке растёт по ягоде.
Вобщем уравнение движения Медведя в динамике никому не нужно. Мы заранее
знаем сколько он соберёт ягод исходя геометрии на плоскости.

Формула упрощается до разности площадей двух прямоугольников.

Последний (финальный) круг медведя решается требует двух-трех проверок
условий и коррекции площади.

Циклы и рекурсии для решения данной задачи не нужны.
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38767046
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это комбинация идей из CellCount1 и CellCount3:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function CellCount4(M, N, X, Y: integer): integer;
var
  I, T, Z, R: integer;
begin;
  Result:=0; Z:=0; R:=0;
  for I:=0 to 3 do begin;
    if (I=0) or (Z>=Y) then begin;
      Z:=Y-1;
      Result:=2*Z*(M+N-2*Z)+X-Z*(I*2+1)+R;
      end;
    R:=R+M-1;
    T:=Y; Y:=M-X+1; X:=T;
    T:=N; N:=M; M:=T;
    end;
  end;
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38767074
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nolockySashaMercurymayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

Меня интересуют другие методы или реализации. Вы можете предложить что-нибудь более конкретное ?

вообще-то в приличном обществе приходить с fscanf/fprintf не принято - есть же mmap, господи.

когда вы уже отучитись от "стиля" их 70-х годов?


нахрена mmap?
...
Рейтинг: 0 / 0
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
    #38767079
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
без этой хрени получаются хреновые алгоритмы)
...
Рейтинг: 0 / 0
25 сообщений из 88, страница 1 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обход прямоугольника по спирали. Поиск более подходящего алгоритма
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]