Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обход прямоугольника по спирали. Поиск более подходящего алгоритма / 25 сообщений из 88, страница 1 из 4
03.10.2014, 08:31
    #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
03.10.2014, 08:34
    #38765571
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
Кстати, мой код можно оптимизировать, только пока я не решил как, и стоит ли это делать.
Возможно вы реализовали бы по-другому уже реализованный алгоритм ?
...
Рейтинг: 0 / 0
03.10.2014, 08:37
    #38765572
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
Память забыл освободить. Прошу прощение (это все после перелета((( ).
...
Рейтинг: 0 / 0
03.10.2014, 10:39
    #38765694
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
помню, в 1990-ом писал змею в лабиринте
очень интересно было
:)
...
Рейтинг: 0 / 0
03.10.2014, 12:50
    #38765970
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
SashaMercuryПамять забыл освободить. Прошу прощение (это все после перелета((( ).
Саш ты как всегда наколбасил тучу ненужного кода. У тебя в функции move_on_square_spiral
идёт сплошная копи-паста одного и того-же расчётного блока с небольшими изменениями вектора
движения который ты прибавляешь к cur_i, cur_j.

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

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

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

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

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

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

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

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

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

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

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

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

Я уверен в том, что не вы определяете правила приличного общества
...
Рейтинг: 0 / 0
04.10.2014, 13:08
    #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
04.10.2014, 13:14
    #38766849
nolocky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
SashaMercurynolockyпропущено...


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

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

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

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

Ты неудачно решил показаться умным. У тебя это не получилось.
...
Рейтинг: 0 / 0
04.10.2014, 14:00
    #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
04.10.2014, 14:52
    #38766895
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
nolockySashaMercuryпропущено...


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

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

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

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

Администрация, я ещё раз отмечаю, его сообщение выше очевидная провокация. Примите меры к этому пользователю.
...
Рейтинг: 0 / 0
04.10.2014, 14:53
    #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
04.10.2014, 15:04
    #38766900
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
Aleksandr Sharahov, а можно услышать ваши комментарии по вашей реализации ?)
...
Рейтинг: 0 / 0
04.10.2014, 15:29
    #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
04.10.2014, 15:37
    #38766915
Aleksandr Sharahov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
SashaMercuryAleksandr Sharahov, а можно услышать ваши комментарии по вашей реализации ?)

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

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

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

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

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

Циклы и рекурсии для решения данной задачи не нужны.
...
Рейтинг: 0 / 0
04.10.2014, 21:40
    #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
04.10.2014, 23:04
    #38767074
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход прямоугольника по спирали. Поиск более подходящего алгоритма
nolockySashaMercurymayton, спасибо :)
Не уверен что прочитаю что-то новое из того что вы предложили. По поводу рефакторинга согласен, но не уверен. Займусь им обязательно.

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

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

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


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


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