Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Python и участие в олимпиадах по программированию 
:(
    Опции темы
pythonwin
Дата 12.9.2006, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



albertn,  ты олимпиадник?
PM WWW GTalk Jabber   Вверх
albertn
Дата 12.9.2006, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(Cr@$h @  12.9.2006,  09:31 Найти цитируемый пост)
Здорово. А что за олимпиада, кстати? (вузовская, региональная, ACM и т.п.) 

ACM ICPC, NEERC, Southern Subregion
IХ ЧЕТВЕРТЬФИНАЛЬНЫЕ СОРЕВНОВАНИЯ ЧЕМПИОНАТА МИРА ПО ПРОГРАММИРОВАНИЮ ЮЖНОГО - ПОВОЛЖСКОГО РЕГИОНА РОССИИ среди сборных команд высших учебных заведений состоятся в г. Саратове на базе Саратовского государственного университета им. Н.Г. Чернышевского
с 9 по 13 октября 2006 г.

Добавлено @ 09:56 
Цитата(pythonwin @  12.9.2006,  09:12 Найти цитируемый пост)
albertn,  ты олимпиадник? 

Если можно, то немного похвалюсь  smile 
Внутривузовские олимпиады:
http://www.ncstu.ru/life/paper/2005/664/04.htm/view
http://www.ncstu.ru/life/paper/2006/674/14.htm

Новочеркасск:
http://science.ncstu.ru/achievements/2005_09_23.htm
http://science.ncstu.ru/achievements/2006_05_03olymp.htm

PM WWW ICQ   Вверх
pythonwin
Дата 12.9.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



А ФИО у тебя какая?
PM WWW GTalk Jabber   Вверх
albertn
Дата 12.9.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(pythonwin @ 12.9.2006,  11:04)
А ФИО у тебя какая?

Помазанов С.Н.
PM WWW ICQ   Вверх
pythonwin
Дата 12.9.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(albertn @  12.9.2006,  18:22 Найти цитируемый пост)
Помазанов С.Н. 

пропиши пожалуйста в своем профиле. smile

Добавлено @ 11:31 
Цитата

Победители и баллы
1. Помазанов Сергей, 90, ПМИ-021
2. Сугаков Михаил, 80, ПМИ-011
2. Щербаков Виктор, 80, ИС-031
2. Пивоваров Павел, 80, ИС-021
3. Козлов Илья, 60, ПМИ-011

PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 12.9.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(pythonwin @  12.9.2006,  12:31 Найти цитируемый пост)
Победители и баллы
1. Помазанов Сергей, 90, ПМИ-021

Чувак руляет, поздравляем. ++
PM MAIL ICQ   Вверх
albertn
Дата 12.9.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(pythonwin @  12.9.2006,  11:31 Найти цитируемый пост)
пропиши пожалуйста в своем профиле.

Честно говоря я не нашел поле, где бы его адекватно можно было вставить.

Цитата(Cr@$h @  12.9.2006,  11:36 Найти цитируемый пост)
Чувак руляет, поздравляем. ++

Спасибо

PS. Вот последняя олимпиада:
Код

1. С. Помазанов (ПМИ-021) — 170 баллов
2. М. Сугаков — 140 баллов
3. С.Емельяненко (БАС-031) — 120 баллов


Добавлено @ 11:43 
Как обычно Cr@$h и pythonwin повышают репутацию хором. Еще раз спасибо.
PM WWW ICQ   Вверх
Cr@$h
Дата 12.9.2006, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(albertn @  12.9.2006,  12:40 Найти цитируемый пост)
Вот последняя олимпиада

Плюс на все предыдущие распространяется  smile 
Цитата(albertn @  12.9.2006,  12:40 Найти цитируемый пост)
Как обычно Cr@$h и pythonwin повышают репутацию хором. Еще раз спасибо.

Да.
Цитата(pythonwin @  12.9.2006,  12:31 Найти цитируемый пост)
пропиши пожалуйста в своем профиле. 

А у него самого нет smile Так что можешь не писать.
Цитата(albertn @  12.9.2006,  12:40 Найти цитируемый пост)
Честно говоря я не нашел поле, где бы его адекватно можно было вставить.

Иногда под Новый Год делается подарок: можно менять подпись под аватаром. Там хоть ФИО свои пиши.

А на Python там можно выступать?

Это сообщение отредактировал(а) Cr@$h - 12.9.2006, 12:05
PM MAIL ICQ   Вверх
pythonwin
Дата 12.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(albertn @  12.9.2006,  18:40 Найти цитируемый пост)
Как обычно Cr@$h и pythonwin повышают репутацию хором. Еще раз спасибо. 

Пожалуйста! smile

За такое дело можно и больше плюсов поставить!
PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 12.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41




M
Cr@$h
Обсуждение выделил из темы "Преподавание Python в ВУЗах".

PM MAIL ICQ   Вверх
pythonwin
Дата 12.9.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(Cr@$h @  12.9.2006,  18:50 Найти цитируемый пост)
Иногда под Новый Год делается подарок: можно менять подпись под аватаром. Там хоть ФИО свои пиши.


Класс! я бы себе поменял бы. smile
PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 12.9.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Cr@$h @  12.9.2006,  12:50 Найти цитируемый пост)
А на Python там можно выступать?

С темой не знаю что делать: если Python можно использовать на олимпиадах, то тема здесь жить сможет, если нет, то придётся в Разное перенести. Соври, что ли smile 

Кстати, все, наверное, знакомы со стилем олимпиадных задач. Python хорошо бы для них подходил? Давал бы преимущества в скорости написания (там ведь на время и количество всё идёт в конечном счёте). Ну с произвоодительностью отдельный вопрос.
PM MAIL ICQ   Вверх
pythonwin
Дата 12.9.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(Cr@$h @  12.9.2006,  19:19 Найти цитируемый пост)
С темой не знаю что делать: если Python можно использовать на олимпиадах, то тема здесь жить сможет, если нет, то придётся в Разное перенести. Соври, что ли smile 


albertn, или просто ничего не говори! smile
PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 12.9.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(pythonwin @  12.9.2006,  13:15 Найти цитируемый пост)
Класс! я бы себе поменял бы. 

Тсс. Это всё серебряным шрифтом.

Добавлено @ 12:34 
Цитата(pythonwin @  12.9.2006,  13:25 Найти цитируемый пост)
albertn, или просто ничего не говори!

 smile user posted image
Я уже подкинул идею для развития в этой же теме:
Цитата(Cr@$h @  12.9.2006,  13:19 Найти цитируемый пост)
Кстати, все, наверное, знакомы со стилем олимпиадных задач. Python хорошо бы для них подходил? Давал бы преимущества в скорости написания (там ведь на время и количество всё идёт в конечном счёте). Ну с произвоодительностью отдельный вопрос. 

Просто с лаконичностью Python можно намного быстрее эти задачки решать, я считаю. К тому же функцональные языки кто-то видел в таких олимпиадах как разрешённые?
PM MAIL ICQ   Вверх
albertn
Дата 12.9.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(pythonwin @ 12.9.2006,  12:25)
albertn, или просто ничего не говори! smile

Так уж и быть, промолчу smile но честно говоря хотелось-бы

Кстати, раз уж зашла эта тема, то меня всегда интерисовал вопрос про применение питона к олимпиадным задачам.
В классическом варианте есть входной и выходной файл. Все входные файлы четко структурированны. Но есть одна загвоздка - в нем могут встречаться как числа, так и символы, в зависимости от порядка. В классических языках программирования в этой ситуации нет проблем - открываешь как текстовый файл, а дальше что ему передаешь, то он и считывает.
А как в этой ситуации поступать на питоне? Разбивать на элементы разделенные пробелом и переносами строк?  Использовать регулярные вырожения (хотя их применение будет проблемным)?
Есть ли какие-либо встроенные функции, аналогичные другим языкам?

Чтобы было понятней приведу какой-нить пример:
Есть N массивов строк, в каждом массиве Ni cтрок. Строка заканчивается переносом строк. Структура файла такая:
N
N1
строка1
строка2
...
строка N1
N2
строка1
строка2
...
строка N2
...

ну и пример:
Код

3 5
ыфдафыва
апдукоедцуопжы
ыфа фыдвадфыва фж
фы ваодлуодйцу
цлйдуадлыфвоадцлуоайо двоыад оцуджа вы
2
ывфд аодлыфво адфывоаж
выф дадфыоваж фыва 
1
овадф лывадфоывд афывафж


Должен же быть какой-то более простой способ прочитать этот файл

Добавлено @ 13:04 
Цитата(Cr@$h @  12.9.2006,  12:19 Найти цитируемый пост)
Кстати, все, наверное, знакомы со стилем олимпиадных задач. Python хорошо бы для них подходил? Давал бы преимущества в скорости написания (там ведь на время и количество всё идёт в конечном счёте). Ну с произвоодительностью отдельный вопрос. 

1. В скорости написания у него есть преимущество, но не большое, т.к. есть ява, с которой как я понимаю больше всего конкурирует Python, и у которой есть также от части преимущество в скорости написания.
2. По скорости выполнения он конечно будет уступать таким языкам как C/C++, но обычно в олимпиадах упор на время дается только для построения правильного алгоритма, так что должно прокатить.
3. По памяти могут быть проблемы. Честно говоря я не исследовал этот параметр, но построеные выражения обычно создают несколько списков, а не изменяют исходный. К тому-же сборщик мусора может не всегда сработать там где надо.

А так все подходит
PM WWW ICQ   Вверх
Cr@$h
Дата 12.9.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41




M
Cr@$h
Тема: Python и участие в олимпиадах по программированию. Всё ликвидо теперь. Беседуем.


Добавлено @ 13:23 
Цитата(albertn @  12.9.2006,  13:50 Найти цитируемый пост)
По скорости выполнения он конечно будет уступать таким языкам как C/C++, но обычно в олимпиадах упор на время дается только для построения правильного алгоритма, так что должно прокатить.

Там обычно последний тест -- как раз на скорость дают. Часто заваливает.
Цитата(albertn @  12.9.2006,  13:50 Найти цитируемый пост)
По памяти могут быть проблемы. Честно говоря я не исследовал этот параметр, но построеные выражения обычно создают несколько списков, а не изменяют исходный. К тому-же сборщик мусора может не всегда сработать там где надо.

А вот память не слышал, чтобы в тестах проверяли. А так у них там сервак стоит какой-нить. Так что здесь ещё ничего может на олимпиадах.
PM MAIL ICQ   Вверх
Void
Дата 12.9.2006, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(albertn @  12.9.2006,  14:50 Найти цитируемый пост)
1. В скорости написания у него есть преимущество, но не большое, т.к. есть ява, с которой как я понимаю больше всего конкурирует Python, и у которой есть также от части преимущество в скорости написания.

Java слишком многословна в алгоритмических задачах, которые обычно предлагаются на олимпиадах.
Цитата(albertn @  12.9.2006,  14:50 Найти цитируемый пост)
2. По скорости выполнения он конечно будет уступать таким языкам как C/C++, но обычно в олимпиадах упор на время дается только для построения правильного алгоритма, так что должно прокатить.
3. По памяти могут быть проблемы. Честно говоря я не исследовал этот параметр, но построеные выражения обычно создают несколько списков, а не изменяют исходный. К тому-же сборщик мусора может не всегда сработать там где надо.

На мой взгляд, как раз наоборот. Питон отстаёт в скорости от C++ в среднем на порядок, поэтому правильный, но не «вылизанный» алгоритм с той же асимптотикой может пролететь.
А вот потребление памяти отличается не так сильно и рамки обычно задают чисто символические, так что при минимальной аккуратности в реализации выйти за них трудно.

Кстати, на Google Code Jam Python есть в списке доступных языков.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
PyS
Дата 12.9.2006, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(Void @  12.9.2006,  22:51 Найти цитируемый пост)
 Питон отстаёт в скорости от C++ в среднем на порядок

для тех кто не знает - на порядок это в 10-ть раз!
PM MAIL   Вверх
Void
Дата 12.9.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(PyS @  12.9.2006,  23:07 Найти цитируемый пост)
для тех кто не знает - на порядок это в 10-ть раз! 

У программистов — может быть ещё и в два раза smile А может в e?
Знаю, что в десять, и именно эту цифру имел в виду. Шустрики проводить будем? Интерпретатору байт-кода без JITа с нативно компилируемым языком не тягаться, это бессмысленно даже обсуждать.
Для затравки: Python vs GCC (знаю, знаю, более дурацких бенчмарков, чем на этом сайте, в природе нет, но и такого широкого охвата тоже нигде не найти).
Исключение: можно получить даже некоторое превосходство в программах, большую часть времени проводящих в функциях стандартной библиотеки, например, dict vs std::map или длинная арифметика Питона vs самопальная.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 12.9.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Void @  12.9.2006,  20:51 Найти цитируемый пост)
Java слишком многословна в алгоритмических задачах, которые обычно предлагаются на олимпиадах.

Да, я тоже присоединяюсь к этому высказыванию. Иногда за дебрями синтаксиса можно и суть потерять. Плюс Python позволяет фнуциональный стиль, а это, батеньки, декларативное программирование, как мы все прекрасно знаем. Тут все преимущества и так понятны. Тем не менее в индустрии Java заняла прочные позиции и её синтаксис, объектная концепция пришлись весьма по вкусу программистам
Цитата(Void @  12.9.2006,  20:51 Найти цитируемый пост)
Питон отстаёт в скорости от C++ в среднем на порядок, поэтому правильный, но не «вылизанный» алгоритм с той же асимптотикой может пролететь.

В 10 раз это не сильно. Если алгоритм построен правильно и имеет сложность на O(N!), а O(N^10), то такие мелочи не повлияют на ход теста сильно, и он пройдёт успешно (про тест на олимпиадах говорю).
Цитата(Void @  12.9.2006,  20:51 Найти цитируемый пост)
А вот потребление памяти отличается не так сильно и рамки обычно задают чисто символические, так что при минимальной аккуратности в реализации выйти за них трудно.

Возможно, но в С++ её можно полностью контролировать, а Python любит копии списков плодить (уже говорили).
Цитата(Void @  12.9.2006,  22:38 Найти цитируемый пост)
Исключение: можно получить даже некоторое превосходство в программах, большую часть времени проводящих в функциях стандартной библиотеки, например, dict vs std::map или длинная арифметика Питона vs самопальная. 

Да, это факт. С другой стороны, сопосталяя с Java, в последней очень серьёзно представлены различные структуры данных. Это её козырь, без сомнений.
Мы так и не выяснили: функциональные языки допускают на российских олимпиадах?
И ещё один возник из этого обсуждения: разрешено ли использовать стандартные библиотеки? Я в первую очередь здесь имею в виду Java с её структурами. Или есть какие-нибудь ограничения?
PM MAIL ICQ   Вверх
Void
Дата 12.9.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(Cr@$h @  13.9.2006,  01:15 Найти цитируемый пост)
С другой стороны, сопосталяя с Java, в последней очень серьёзно представлены различные структуры данных.

Например? Открываю доку и смотрю содержимое java.util.*: списки, связанные списки, множества, словари, очереди. В Питоне это всё есть, кроме связанного списка (довольно быстро изображается вручную) и словарей/множеств с гарантированным порядком элементов (тут согласен, быстро и эффективно не напишешь, а иногда нужно).
Цитата(Cr@$h @  13.9.2006,  01:15 Найти цитируемый пост)
И ещё один возник из этого обсуждения: разрешено ли использовать стандартные библиотеки? Я в первую очередь здесь имею в виду Java с её структурами. Или есть какие-нибудь ограничения? 

Есть очевидные ограничения на I/O и прочие системные функции, связанные с безопасностью, но про ограничения на алгоритмы и структуры данных не слышал ни разу.
Цитата(Cr@$h @  13.9.2006,  01:15 Найти цитируемый пост)
Возможно, но в С++ её можно полностью контролировать, а Python любит копии списков плодить (уже говорили).

Не встречался с тем, чтобы это делалось скрытно от программиста. Т.е., вызывая какую-либо функцию, обычно имеешь чёткое представление, работает она in-place или создаёт копию.
Я повидал олимипдного кода на C++, написаного чудовищно неэффективно (передача std::string по значению и т.п.). Питон позволяет достичь сопоставимых результатов при существенно меньшем количестве нюансов, которые надо знать.
По моему скромному опыту на ICPC, ограничения на память обычно завышены относительно разумных требований гораздо больше, чем время выполнения, так что превысить их надо постараться.
Цитата(Cr@$h @  13.9.2006,  01:15 Найти цитируемый пост)
В 10 раз это не сильно. Если алгоритм построен правильно и имеет сложность на O(N!), а O(N^10), то такие мелочи не повлияют на ход теста сильно, и он пройдёт успешно (про тест на олимпиадах говорю).

Сильно зависит от конкретной задачи. Я могу представить ситуацию, когда при идентичных алгоритмах код на C++ впишется в рамки, а на Питоне — нет.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 13.9.2006, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Void @  13.9.2006,  00:45 Найти цитируемый пост)
В Питоне это всё есть, кроме связанного списка (довольно быстро изображается вручную) и словарей/множеств с гарантированным порядком элементов (тут согласен, быстро и эффективно не напишешь, а иногда нужно).

Да, это из той же серии: иногда в библиотеках реализованы полезные вещи smile
Цитата(Void @  13.9.2006,  00:45 Найти цитируемый пост)
 про ограничения на алгоритмы и структуры данных не слышал ни разу.

Я имел в виду, может, хоть на java всё есть, просят самим всё руками писать, чтобы в равных условиях все были -- только язык вибирай, а дальше без готовых таких структур.
Цитата(Void @  13.9.2006,  00:45 Найти цитируемый пост)
Питон позволяет достичь сопоставимых результатов при существенно меньшем количестве нюансов, которые надо знать.

В точку. Цель не оправдывает средства (или даже наоборот тоже верно будет).
Цитата(Void @  13.9.2006,  00:45 Найти цитируемый пост)
Цитата(Cr@$h @  13.9.2006,  01:15 )
Цитата

В 10 раз это не сильно. Если алгоритм построен правильно и имеет сложность на O(N!), а O(N^10), то такие мелочи не повлияют на ход теста сильно, и он пройдёт успешно (про тест на олимпиадах говорю).

Сильно зависит от конкретной задачи. Я могу представить ситуацию, когда при идентичных алгоритмах код на C++ впишется в рамки, а на Питоне — нет. 

Хорошо, что там может тормозить так? Интерпретируемость? У Java в этом смысле проблем поменьше, там разработчики стараются над каждой версией оптимизировать. И если дело в этом, есть ли реализации Python для байт-кода? Типа JRuby, что ли.
PM MAIL ICQ   Вверх
Void
Дата 13.9.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(Cr@$h @  13.9.2006,  02:30 Найти цитируемый пост)
Я имел в виду, может, хоть на java всё есть, просят самим всё руками писать, чтобы в равных условиях все были -- только язык вибирай, а дальше без готовых таких структур.

Я понял, просто несколько неудачно выразился smile Именно про ограничения на использование стандартных библиотек не слышал. STL использовали без ограничений, чем Java хуже.
Цитата(Cr@$h @  13.9.2006,  02:30 Найти цитируемый пост)
Хорошо, что там может тормозить так? Интерпретируемость? У Java в этом смысле проблем поменьше, там разработчики стараются над каждой версией оптимизировать.

Java может JIT-компилироваться. Питон — только интерпретируется.
Цитата(Cr@$h @  13.9.2006,  02:30 Найти цитируемый пост)
есть ли реализации Python для байт-кода?

Jython. Но, во-первых, в смысле языка Jython остановился на уровне CPython 2.1. Во-вторых, использование байткода JVM вместо байткода виртуальной машины Питона не означает автоматическое улучшение производительности. Питон — динамический язык, и для его эффективного исполнения нужны значительные усилия по анализу кода, выводу типов и оптимизации. Я сам Jython не использовал, так что было бы интересно, если бы кто-то просветил по поводу его быстродействия относительно CPython и Java.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Cr@$h
Дата 13.9.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Void @  13.9.2006,  01:57 Найти цитируемый пост)
STL использовали без ограничений, чем Java хуже.

Тогда full trottle!
Цитата(Void @  13.9.2006,  01:57 Найти цитируемый пост)
Java может JIT-компилироваться. Питон — только интерпретируется.

Именно это и позвроляет ей работать "чуть" быстрее. smile 
Цитата(Void @  13.9.2006,  01:57 Найти цитируемый пост)
Я сам Jython не использовал, так что было бы интересно, если бы кто-то просветил по поводу его быстродействия относительно CPython и Java. 

Присоединяюсь. И мне интересно. Возможно, по скорости он "прилично" быстрее Python. Конечно, мы это из разговора об олимпиадах и применению на них (быстрого/небыстрого) Python вывели. Может, подспорье будет...
Цитата(Void @  13.9.2006,  01:57 Найти цитируемый пост)
Но, во-первых, в смысле языка Jython остановился на уровне CPython 2.1.

Вот это жалко. Возможно, не прижился таки. Своя машина и так есть.

Добавлено @ 01:17 
Приветствую Void в обсуждении. Что так заходишь поздно? Дел, наверное, много. У тебя какое местное время было?

Это сообщение отредактировал(а) Cr@$h - 13.9.2006, 01:18
PM MAIL ICQ   Вверх
albertn
Дата 13.9.2006, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Мда ну и написали за время моего отсутствия! Ладно, начну по порядку.
Любая задача может делиться на несколько категорий, таких как память, скорость, алгоритм и смешанные.

Про память:
Ну допустим есть такая простая задачка. есть 1000000 чисел от 0 до 100. Памяти разрешено 2 Мб. Уместит ли питон такой массив в том количестве памяти?
На сколько я понимаю любые функции функционального программирования пораждают новые списки, что может сильно использовать память.
Но в случае чего можно не полагаться на сборщик мусора, и самим отчищать использованную память.

Про скорость:
Основная загводзка скорости будет состоять в обработке списков, или переборе. В первом случае у питона есть встроенные функции, написанные на си, так что с этим особых проблем может и не быть, а перебор можно таким-же образом перевести в списковую структуру, и его обрабатывать. К тому-же есть множества, разрешающие использовать чуть ли бесконечное количество элементов.

Про ограничения на программу:
Цитата(Void @  12.9.2006,  23:45 Найти цитируемый пост)
Есть очевидные ограничения на I/O и прочие системные функции, связанные с безопасностью, но про ограничения на алгоритмы и структуры данных не слышал ни разу.

Кроме перечисленных ограничений, могут также встречаться и алгоритмические ограничения, но это в основном на классические языки. Как например, чтобы код программы умещался в 200 символов, или программа должна быть линейной. 
Есть такой классический пример - надо отсортировать массив положительных чисел, причем программа должна быть линейной. Для питона еще могли бы сделать ограничение, что нельзя пользоваться функцией sort, множествами и любыми логическими операциями.

Цитата(Void @  12.9.2006,  23:45 Найти цитируемый пост)
Сильно зависит от конкретной задачи. Я могу представить ситуацию, когда при идентичных алгоритмах код на C++ впишется в рамки, а на Питоне — нет. 

В любой олимпиаде организаторы заранее говорят, что программу можно написать на любом предоставленном языке, и она может пройти все тесты.

Цитата(Cr@$h @  13.9.2006,  00:30 Найти цитируемый пост)
Я имел в виду, может, хоть на java всё есть, просят самим всё руками писать, чтобы в равных условиях все были -- только язык вибирай, а дальше без готовых таких структур.

Бред. Если посмотреть, то даже у си есть такие библиотеки как vector и algorithm, в которых очень многое реализованно.

Добавлено @ 09:07 
Цитата(Cr@$h @  12.9.2006,  23:15 Найти цитируемый пост)
Мы так и не выяснили: функциональные языки допускают на российских олимпиадах?

Возможно есть, но это олимпиады не широкого масштаба. Я несколько встречал, в которых допустимых языков было достаточно много.
На ACM разрешено использовать только 3 - Pascal (Delphi), C++ (Visual C++.NET), Java. Но в финале уже убрали паскаль, т.е. оставили всего два языка. Так что надежда на появление там питона ОЧЕНЬ мала.
PM WWW ICQ   Вверх
PyS
Дата 13.9.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(albertn @  13.9.2006,  12:02 Найти цитируемый пост)

Ну допустим есть такая простая задачка. есть 1000000 чисел от 0 до 100. Памяти разрешено 2 Мб. Уместит ли питон такой массив в том количестве памяти?


проверил на скорость:

Код

import profile
profile.run('range(0, 10**6, 1)')


         4 function calls in 0.066 CPU seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.040    0.040    0.040    0.040 smile(range)
        1    0.000    0.000    0.000    0.000 smile(setprofile)
        1    0.026    0.026    0.066    0.066 <string>:1(?)
        0    0.000             0.000          profile:0(profiler)
        1    0.000    0.000    0.066    0.066 profile:0(range(0, 10**6, 1))


Как проверить на использумую память?
PM MAIL   Вверх
Cr@$h
Дата 13.9.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(albertn @  13.9.2006,  10:02 Найти цитируемый пост)
Для питона еще могли бы сделать ограничение, что нельзя пользоваться функцией sort, множествами и любыми логическими операциями.

Да, но раз
Цитата(albertn @  13.9.2006,  10:02 Найти цитируемый пост)
Если посмотреть, то даже у си есть такие библиотеки как vector и algorithm, в которых очень многое реализованно.

то я бы разрешал всё. Если Python помогает лучше решать олимпиадные задачи, то пускай другие языки пеняют на себя.user posted imageuser posted image
PM MAIL ICQ   Вверх
albertn
Дата 13.9.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Кстати, я ошибся, в той программе могут быть всего 2 цикла, а все остальное линейно и без логических операций.
Кому не слабо, пусть попробует выложить. Естестно на питоне, и чтоб все честно было.
PM WWW ICQ   Вверх
Artemios
Дата 13.9.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(albertn @  13.9.2006,  09:02 Найти цитируемый пост)
Есть такой классический пример - надо отсортировать массив положительных чисел, причем программа должна быть линейной. Для питона еще могли бы сделать ограничение, что нельзя пользоваться функцией sort, множествами и любыми логическими операциями.

Цитата(albertn @  13.9.2006,  12:55 Найти цитируемый пост)
Кстати, я ошибся, в той программе могут быть всего 2 цикла, а все остальное линейно и без логических операций.


Не понял, сам смысл сортировки же это расположение некоторого множества элементов в соответствии с некоторым порядком, определенным на элементах. А порядок - это функция, определенная для пар элементов, возвращающая логическое значение.
С другой стороны, если все завязано на положительности и целых чисел, как элементов упорядочиваемого множества, так все равно, можно попытаться завязать на проверке равенства нулю в ходе ряда действий, что также есть логическая операция...
Эх, старею что-то smile




--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Void
Дата 13.9.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(albertn @  13.9.2006,  11:02 Найти цитируемый пост)
Кроме перечисленных ограничений, могут также встречаться и алгоритмические ограничения, но это в основном на классические языки. Как например, чтобы код программы умещался в 200 символов, или программа должна быть линейной. 

Какой-то школьный уровень, право слово smile Однако придётся поверить, что и такое встречается.
Цитата(albertn @  13.9.2006,  11:02 Найти цитируемый пост)
В любой олимпиаде организаторы заранее говорят, что программу можно написать на любом предоставленном языке, и она может пройти все тесты.

Во-первых, мы рассматриваем гипотетический случай, поскольку о реальном применении Питона на олимпиадах пока никто не сообщил. Во-вторых, на упомянутом Google Code Jam было открыто сказано, что некоторые задачи возможно нельзя будет решить на Питоне из-за ограничений по времени выполнения.
Цитата(albertn @  13.9.2006,  11:02 Найти цитируемый пост)
На сколько я понимаю любые функции функционального программирования пораждают новые списки, что может сильно использовать память.

Так кто заставляет использовать Питон, как чисто функциональный язык?
Цитата(albertn @  13.9.2006,  11:02 Найти цитируемый пост)
Ну допустим есть такая простая задачка. есть 1000000 чисел от 0 до 100. Памяти разрешено 2 Мб. Уместит ли питон такой массив в том количестве памяти?

Массив — уместит (см. модуль array). Но в ограничения не впишется, потому что только его рантайм займёт сразу после загрузки программы существенно больше памяти.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
dvska
Дата 13.9.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



Цитата(Void @ 13.9.2006,  00:57)
Я сам Jython не использовал, так что было бы интересно, если бы кто-то просветил по поводу его быстродействия относительно CPython и Java.

Пробовали, тестировали. Тормоз он. К тому же мёртвенький практически...  smile  А жаль.
--------------------
PM MAIL   Вверх
albertn
Дата 14.9.2006, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(Artemios @  13.9.2006,  13:31 Найти цитируемый пост)
Не понял, сам смысл сортировки же это расположение некоторого множества элементов в соответствии с некоторым порядком, определенным на элементах. А порядок - это функция, определенная для пар элементов, возвращающая логическое значение.
С другой стороны, если все завязано на положительности и целых чисел, как элементов упорядочиваемого множества, так все равно, можно попытаться завязать на проверке равенства нулю в ходе ряда действий, что также есть логическая операция...
Эх, старею что-то smile

Основной упор в задаче идет на то, чтобы отсортировать 2 числа без использования логики. Дам легкую подсказку, что сортировка несет за собой математическую основу.
Мне один тип предложил такую идею, что надо сделать нулевой массив большой размерности, и забить каждое значение как индекс массива, а затем просто вывести все по порядку. Но все-же решение не рациональное, и не правильное.
PM WWW ICQ   Вверх
Void
Дата 14.9.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



Цитата(albertn @  14.9.2006,  15:32 Найти цитируемый пост)
Основной упор в задаче идет на то, чтобы отсортировать 2 числа без использования логики.

Код
def sort_two_numbers(a, b):
    lesser = (a + b - abs(a - b)) / 2
    bigger = a + b - lesser
    return lesser, bigger

Поскольку в Питоне есть длинная арифметика, для целых чисел это будет работать всегда (для действительных имеем возможную потерю точности).

Это сообщение отредактировал(а) Void - 14.9.2006, 20:46


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Artemios
Дата 15.9.2006, 05:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Я вроде тоже сначала примерно также подумал:
Код

# даны a,b
c = (a+b)/2
d = abs(a-b)/2
a1 = c-d
b1 = c+d

Только ведь в abs используется операция сравнения smile


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Artemios
Дата 15.9.2006, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(Artemios @  15.9.2006,  05:54 Найти цитируемый пост)
Только ведь в abs используется операция сравнения

Сорри, слишком математически смотрел на задачу smile В машинной арифметике же достаточно сбрасывать в 0 знаковый бит не в зависимости от того, какой он был изначально. Только вот как знаки, и соответственно abs, реализованы в длинной арифметике питона - пока не интересовался smile 


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
albertn
Дата 15.9.2006, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Void, ну теперь то уже все готово осталось только написать полный код программы, что не составит труда. Задачка то в принципел легкая, только приходится хорошо подумать головой.
PS Void, +1
PM WWW ICQ   Вверх
Cr@$h
Дата 15.9.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(Artemios @  15.9.2006,  06:54 Найти цитируемый пост)
Только ведь в abs используется операция сравнения 

Используется в ней.. и то возможно. Если не разрешено пользоваться логическими операциями, то не значит, что нельзя использовать другие функции. Так, если посмотреть, логические операции будут использоваться в большинстве функций. smile 
Void, руляет.

Это сообщение отредактировал(а) Cr@$h - 18.9.2006, 12:21
PM MAIL ICQ   Вверх
albertn
Дата 18.9.2006, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(Cr@$h @  15.9.2006,  18:22 Найти цитируемый пост)
Используется в ней.. и то возможно. Если не разрешено пользоваться логическими операциями, то не значит, что можно использовать другие функции. Так, если посмотреть, логические операции будут использоваться в большинстве функций.

Ну я бы так не сказал. Если углубиться в этот вопрос, то на асме логической операцией считается та, которая следит за сменой флагов. Все арифметические операции, как и взятие модуля хоть и изменяют эти флаги, но не следят за их изменением.
PM WWW ICQ   Вверх
Artemios
Дата 18.9.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(albertn @  18.9.2006,  09:48 Найти цитируемый пост)
Ну я бы так не сказал. Если углубиться в этот вопрос, то на асме логической операцией считается та, которая следит за сменой флагов. Все арифметические операции, как и взятие модуля хоть и изменяют эти флаги, но не следят за их изменением. 

Ну а если опять посмотреть математически, то любое машинное действие - есть операция над битами, то бишь реализация булевой алгебры, синоним коей алгебра логики smile 



--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
albertn
Дата 18.9.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(Artemios @ 18.9.2006,  10:39)
Ну а если опять посмотреть математически, то любое машинное действие - есть операция над битами, то бишь реализация булевой алгебры, синоним коей алгебра логики smile

Ну если так посмотреть, то все что у нас просисходит - это просто совокупность элементарых частиц, подчиняющихся одним и тем-же законам smile
А если серьезно, то как-раз арифметические операции считывают только состояние регистров и памяти, а логические операции к тому-же считывают флаги состояний.
Вообще операции ANDORNOT ... по-сути чисто математические. А уже < > <= >= == != .. чисто логические.
В принципе получается что ANDORNOT ... можно было-бы применять, но их прменение влечет за собой применение логических операций или функций, что в задаче не разрешено.

Ну так что, никто не хочет предоставить полный вариант программы? Ладно, уж напишу. Не ругайте сильно за пузырька smile
Код

a = [2,43,5,6,4,3,4,6,78,9,7,5,34,56,7,78,6,43,3,6,7,43,23,8,7,5,3,2,4,5,65,78,89,897,65,54,34,4,5,56,65,7,4,7,89]
for i in range(len(a)):
    for j in range(len(a)-1):
        m = (a[j] + a[j+1])/2.0
        l = abs(a[j]-m)
        a[j] = int(m-l)
        a[j+1] = int(m+l)
print a

PM WWW ICQ   Вверх
Artemios
Дата 18.9.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(albertn @  18.9.2006,  11:31 Найти цитируемый пост)
Ну если так посмотреть, то все что у нас просисходит - это просто совокупность элементарых частиц, подчиняющихся одним и тем-же законам

А что, процесс мышления уже формализовали? smile


Это сообщение отредактировал(а) Artemios - 18.9.2006, 12:01


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
albertn
Дата 18.9.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Цитата(Artemios @  18.9.2006,  11:53 Найти цитируемый пост)
А что, процесс мышления уже формализовали?

Пару миллионов строчек кода осталось на питоне smile 

А про циклы ты это имел ввиду?
Цитата(albertn @  13.9.2006,  12:55 Найти цитируемый пост)
в той программе могут быть всего 2 цикла

PM WWW ICQ   Вверх
Artemios
Дата 18.9.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Сорри, невнимательно смотрел твой код, свою глупость удалилsmile

Добавлено @ 12:07 
Цитата(albertn @  18.9.2006,  11:31 Найти цитируемый пост)
 for j in range(len(a)-1):

for j in range(len(a)-i-1)


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Cr@$h
Дата 18.9.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 1
Всего: 41



Цитата(albertn @  18.9.2006,  10:48 Найти цитируемый пост)
Ну я бы так не сказал. Если углубиться в этот вопрос, то на асме логической операцией считается та, которая следит за сменой флагов. Все арифметические операции, как и взятие модуля хоть и изменяют эти флаги, но не следят за их изменением. 

Да неправильно написал я smile Хотел сказать: Если не разрешено пользоваться логическими операциями, то не значит, что нельзя использовать другие функции.

Цитата(Artemios @  18.9.2006,  11:39 Найти цитируемый пост)
Ну а если опять посмотреть математически, то любое машинное действие - есть операция над битами, то бишь реализация булевой алгебры, синоним коей алгебра логики 

А уж если посмотреть на логические схемы, то там одни логиеские операции и есть практически smile
Цитата(albertn @  18.9.2006,  12:31 Найти цитируемый пост)
Вообще операции AND, OR, NOT ... по-сути чисто математические. А уже < > <= >= == != .. чисто логические.

Думаю, имелось в виду, что нельзя использовать логические операции в привычном смысле слова.
Цитата(Artemios @  18.9.2006,  12:53 Найти цитируемый пост)
А что, процесс мышления уже формализовали? 

О, куда может привести разговор оп олимпиадах на Python smile 

Ещё раз извините, что выше неправильно выразился (можно/нельзя).
PM MAIL ICQ   Вверх
Artemios
Дата 13.10.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Итак, завершилась олимпиада в Саратове, в которой принимала участие команда 
albertn. Ставропольские ребята заняли 10-е место и теперь в числе 10-ки пебедителей поедут на полуфинал в Питер.

Не могу не похвастаться:
1,2,3 места заняли команды Саратовского гос. университета.smile




--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
pythonwin
Дата 16.10.2006, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(Artemios @  13.10.2006,  23:42 Найти цитируемый пост)

1,2,3 места заняли команды Саратовского гос. университета.smile


Artemios, можно вопрос?

в комисии по подготовке проведения олимпиады были люди которые готовили Саратовских студуентов к олимпиаде? 

Это сообщение отредактировал(а) pythonwin - 16.10.2006, 08:15
PM WWW GTalk Jabber   Вверх
Artemios
Дата 16.10.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(pythonwin @  16.10.2006,  08:09 Найти цитируемый пост)
в комисии по подготовке проведения олимпиады были люди которые готовили Саратовских студуентов к олимпиаде?

Честно говоря, не знаю - не интересовался, ты лучше у albertn спроси.

Если же намекаешь, что свои своим подтасовали, то вспомни, кто стал победителем на последнем чемпионате мира по программированию, проходившем далеко не в Саратове, и не в России.


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
pythonwin
Дата 16.10.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36





Если же намекаешь, что свои своим подтасовали, то вспомни, кто стал победителем на последнем чемпионате мира по программированию, проходившем далеко не в Саратове, и не в России. 


1) подтасовать - это врятли. smile
2) могли просто "правильно" подготовить, хотя если бы поймали, то позора ...
3) кто победил на чемпионате мира по программированию не знаю
4) моя практика участия в олимпиадах такова - "правильная" подготовка есть на небольших олимпиадах (районные, городские, областные), а вот выше - уже нет - ставка выше! smile


Это сообщение отредактировал(а) pythonwin - 16.10.2006, 11:00
PM WWW GTalk Jabber   Вверх
Artemios
Дата 16.10.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 18
Всего: 50



Цитата(pythonwin @  16.10.2006,  10:59 Найти цитируемый пост)
кто победил на чемпионате мира по программированию не знаю

Команда Саратовского государственного университета smile

Цитата(pythonwin @  16.10.2006,  10:59 Найти цитируемый пост)
вот выше - уже нет - ставка выше!

Так был-то четвертьфинал чемпионата мира smile

Добавлено @ 11:31 
А вообще мы отвлеклись, надо б albertn-а поздравить.  smile 

Это сообщение отредактировал(а) Artemios - 16.10.2006, 11:29


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
albertn
Дата 16.10.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 30
Всего: 34



Наконец-то я приехал домой. Теперь смело могу принимать поздравления smile
Саратов - это действительно сильные комманды (их было 10). Их действительно готовят, причем очень серьезно. У них есть даже центр подготовки. Если посмотреть то нас никто никогда не готовил, разве что изредка мы сами себя готовили.

Кстати я слегка поковырялся, и нашел тестирующую систему по олимпиадным заданиям, и нашел реализацию на питоне.
PM WWW ICQ   Вверх
DeadLine
Дата 5.2.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мыслитель
**


Профиль
Группа: Завсегдатай
Сообщений: 736
Регистрация: 16.2.2006
Где: Готем

Репутация: нет
Всего: 51



Питон официально не является олимпиадным языком программирования
PM   Вверх
Void
Дата 5.2.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 10
Всего: 173



DeadLine, ты имеешь в виду, на каких-то конкретных соревнованиях? Или как ещё понимать твои слова?


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
pythonwin
Дата 6.2.2007, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(DeadLine @  5.2.2007,  16:13 Найти цитируемый пост)
Питон официально не является олимпиадным языком программирования 

почему? любая школа, техникум или ВУЗ могут провести у себя "внутреннюю" олимпиаду на питоне smile
PM WWW GTalk Jabber   Вверх
slav0nic
Дата 6.2.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.5.2006

Репутация: 4
Всего: 5



http://www.python.com.ua/forum/viewtopic.php?id=369

правда как я понял, она сейчас закончилась, но в 2007 году наверно будет
--------------------
                                 python.com.ua 
PM MAIL WWW Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2355 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.