![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 43
|
![]()
во входном фойле одно число - размер квадратной матрицы
необходимо заполнить эту матрицу Спиралью. Допустим если дано число 5 ,результат должен быть таким 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 между числами может быть любое количество пробелов. Я уже придумал 2 робочих программы ,но они выполняются слишком долго... 1) просто в цыкле увеличивать число на 1 каждый раз и записывать его в нужный элемент двухмерного массива,а потом просто вывести массив. 2)почти так само,но числа в масив записывал сразу с четырех сторон... хотя вторая задача почти в 4 раза быстрее этого не достаточно пожалуйста подскажите как решать эту задачу ? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
попробуйте такой код (заполняется матрица 100 на 100)
и выдаётся количество прошедших тиков... (правда, у меня выполняется быстрее, чем успеет пройти один тик... Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 43
|
![]()
большое спосибо...ето почти то что я делал в первой программе,но теперь я уверен что проблема не с моим решением .
я тестировал ету задачу здес если будет интерестно http://www.acmp.ru/index.asp?main=task&id_task=196 при тестирование ( 100-максимум) пказало времмя 1.5 сек... Я очень удивился когда задача не прошла . Кстати завта выложу исходник который роботает на много быстрее(по крайне мере на моем компе) я над ним почти целый день думал Последний раз редактировалось sasha1993; 20.12.2009 в 23:31. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]() Цитата:
![]() Так на каком тесте ТЛ? И можно взгялнуть Ваш профиль на АСМП? По поводу решения - я "в древности" решал без формулы, простой симуляцией заполнения и выводом массива. Вот мой АС (0.029 с) код: Код:
Последний раз редактировалось LeBron; 20.12.2009 в 23:39. |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 43
|
![]()
прошу прощение ,но можно перевести О(n^2) в секунды для матрецы 100*100
И задержки я не ставел...на моем компе масив 1000*1000 перебирается за одну секунду |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.12.2009
Сообщений: 74
|
![]()
O(n*n) это верхний порог затраченных операций.
если n до 100 то верхний 100*100=10000 операций. На олимпиадах учат считать, что комп выполняет 10^6 операций за секунду. Но это было давно сча компы стали сильнее, так что можно спокойно считать 10^7. На некоторых задачах может быть даже 5*10^7. Ну а верхний предел на сильном компе это 10^8. Но там операции должны быть не сложнее a+b. Сложение, вычитание,умножение простые операции, а всё остальное включая делеение сложные. Вроде всё те рассказал, что знал сам. Вопросы будут? |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.06.2009
Сообщений: 43
|
![]()
вопросов почти нету
![]() ![]() я просмотрел вашы программы и не могу понять чем моя на столько отличается??? ![]() Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с задачей | bol2909 | Общие вопросы C/C++ | 2 | 06.12.2009 18:18 |
Проблема с задачей в c# | OnlySergio | Помощь студентам | 4 | 25.11.2009 10:47 |
Проблема с задачей :( | fadea | Помощь студентам | 3 | 27.10.2008 19:21 |
Проблема с задачей по С++ | TheWanderer | Общие вопросы C/C++ | 4 | 02.10.2008 00:21 |
Проблема с задачей | diznt | Помощь студентам | 2 | 24.08.2008 00:08 |