Планируем конкурс

Roman
5/31/2006, 11:22:29 PM
(jalt @ 31.05.2006 - время: 18:50)Други мои! Ну так что с конкурсом? Участники наберутся? А то пока я смотрю, собралось вас трое продвинутых, и тишина!
Боюсь, что об этом никто не знает, надо дать объявление.
И чтобы тему не засоряли сообщениями типа "Я поучаствую!" предлагаю заявки на участие на почту сбрасывать, я так один раз делал, в TheBat фильтр поставил и он все письма отсортировал в отдельную папку.
Lem0nti
6/1/2006, 2:17:08 AM
Отставить палево...
Всем кто видел и не видел конкурсы программистов, предлагаю для начала всего 2 тривиальнейшие задачи:

1. Составить алгоритм рисования n-конечной звезды, с учётом что перо не отрывается от бумаги.
Для тех, кому формулировка показалась расплывчатой - это значит что каждый следующий пиксель рисуется рядом с предыдущим, а n-конечная, значит что количество лучей неизвестно, то есть вводится пользователем. Глубина луча зависит от фантазии программиста, но это должна быть звезда, а не выпуклый многоугольник.
2. Есть стол неизвестной длины и ширины, есть неизвестное количество листов бумаги неизвестной ширины и высоты, которые хаотично разбросаны по столу, но однозначно вертикальной (горизонтальной) ориентации. Требуется составить алгоритм, который бы рассчитывал каким образом можно прибить гвоздями эти листки к столу таким образом, чтобы каждый лист был прибит не более чем одним гвоздём.
Для тех, кому формулировка показалась расплывчатой - это значит что на экране нужно случайно или посредством ввода пользователя разместить энное (неизвестное, то бишь вводимое пользователем) количество прямоугольников, которые ориентированы вертикально (горизонтально) и придумать как найти систему точек экрана, входящих в состав этих прямоугольников, но в каждый из них не более чем 1 раз.
Доп пункт для 2-й задачи - добавить в алгоритм анализ ситуаций что если два и более листов можно прибить одним гвоздём, то они обязательно должны быть прибиты одним гвоздём.

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

А то, ребята, на тему жалко смотреть - громкое начало и ни одного дельного предложения.
Если что - участвовал в придумывании подобного рода задач, завсегда подкину пару-тройку интересностей.
GrAnd
6/1/2006, 11:50:31 AM
(jalt @ 31.05.2006 - время: 19:50) Други мои! Ну так что с конкурсом? Участники наберутся? А то пока я смотрю, собралось вас трое продвинутых, и тишина!
Причем, один из них (т.е. я) в конкурсе участвовать не будет по причине нехватки времени. Работа, дом, дети, панимаш ....
DELETED
6/1/2006, 12:52:32 PM
(GrAnd @ 01.06.2006 - время: 07:50) (jalt @ 31.05.2006 - время: 19:50) Други мои! Ну так что с конкурсом? Участники наберутся? А то пока я смотрю, собралось вас трое продвинутых, и тишина!
Причем, один из них (т.е. я) в конкурсе участвовать не будет по причине нехватки времени. Работа, дом, дети, панимаш ....
В соавторах\проверяющих будешь?
DELETED
6/1/2006, 4:44:31 PM
(Lem0nti @ 31.05.2006 - время: 22:17)Всем кто видел и не видел конкурсы программистов, предлагаю для начала всего 2 тривиальнейшие задачи:

Отставить палево... (с) :)

Думается мне участвовать в конкурсе будешь ты один. Конкурс должен быть в первую очередь народным.

К примеру у меня просто не будет времени для решения столь "тривиальных", как ты считаешь, задач.
DELETED
6/1/2006, 4:52:24 PM
(GregZ @ 01.06.2006 - время: 12:44) К примеру у меня просто не будет времени для решения столь "тривиальных", как ты считаешь, задач.
Тогда ты не народный программист! Это же тривиально! Буквально каких-то пару дней.. Отпросись у начальства. Как маленький, ей богу!
-=Велла=-
6/1/2006, 5:00:54 PM
Ребята.. ну вы тут как-нить определитесь.. Или может объвление дать по форуму? Дык скажите что написать.. как народ завлечь.. может где по форуму ходит гений придумывания задач по программированию? wink.gif
tetro
6/1/2006, 5:43:42 PM
1) Я скорее если что-то и буду решать, то явно вне конкурса...
2) Есть 2/3 пути построить такой конкурс:
- что-то вкусное из темы красивой имплементации (скорее прогаммные трюки чем математика), тут я не слишком силен в задачах но, например,
Написать класс имплементирующий матрицы с операторами над ними, позволяющий писать марричные выражения в классической форме с минимальным overhead копирования при вычислении...
Или какие нибудь гадости из Design Patterns...
AVL, skip-list и пр, стуктуры данных были бы ничего если бы были гарантированно вне программы...
Здесь бонус скорее на стороне опыта...
- Какие-нибудь каки из Вычислительной геометрии или что-нибудь типа предложенного, т.е. олимпиада для студентов и школьников в ее лучшем смысле ... т.е. гибкость мозгов намного важнее опыта...
DELETED
6/1/2006, 5:54:13 PM
А проще? К примеру: вычислить день недели используя только математические операции. Циклы, сравнения и пр. запрещены. :)
-=Велла=-
6/1/2006, 6:03:03 PM
А вы уверены, что найдутся те, кто сумеет решить эти задачи.. из числа пользователей с нее менее 100 постов на форуме?
DELETED
6/1/2006, 6:58:06 PM
Понятно. Устраивать конкурс по программированию дохлый номер.
GregZ, имхо, среднему программеру часа 4 максимум для решения 2-х задач, предложенных Lem0nti потребуется.И задачи должны быть именно такие, не слишком сложные - но и не слишком легкие, ибо в первом случае справятся 2-3 человека, а во втором - каждый получит по максимуму.
DELETED
6/1/2006, 7:06:21 PM
(jalt @ 01.06.2006 - время: 14:58) среднему программеру часа 4 максимум для решения 2-х задач
А смысл устраивать именно для программеров не ниже среднего? Таки программеры живут на других форумах и сайтах. А тут если и конкурс, то для всех. Серии: "попробуйте свои силы".

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

А там и видно будет, кто любитель, кто профи... :)
DELETED
6/1/2006, 7:11:24 PM
ОК, тогда до завтра подберу задачку, сделаем объявление, сутки на выполнение - это что-то типа отборочного тура будет. Кто справится - участвуют в конкурсе. Как вам такой вариант?
DELETED
6/1/2006, 7:21:19 PM
Только на самом деле простейшие..

От меня записывайте персональные 100 сексо понравившейся мне участнице конкурса.
Roman
6/1/2006, 7:43:37 PM
(-=Велла=- @ 01.06.2006 - время: 13:00) Ребята.. ну вы тут как-нить определитесь.. Или может объвление дать по форуму? Дык скажите что написать.. как народ завлечь.. может где по форуму ходит гений придумывания задач по программированию? wink.gif
Из всего вышесказанного можно сделать вывод, что непонятно какие задания давать, даже те кто хорошо программируют не имеют времени, чтобы решать сложные задачи.
А задачи можно и не придумывать, у меня задачник есть, в нём и простые задачи есть и сложные, от которых башню сносит (по крайней мере у меня).

Вот примеры заданий:
1) Известно, что заданный граф - не дерево. Выяснить, можно-ли из него удалить одну вершину (вместе с инцидентными ей рёбрами) так, чтобы в результате получилось дерево.
2) Изобразить графически заданный планарный граф так, чтобы его рёбра не пересекались.
3) Дан целочисленный массив a(n).Определить сколько пар (положительное число, отрицательное число) находится в начале массива.
4) По заданным целочисленным координатам четырёх точек на плоскости определить, какую геометрическую фигуру они образуют, если их соединить в порядке ввода точек. Ответы: четырёхугольник с самопересечением, четырёхугольник, трапеция, параллелограмм, ромб, прямоугольник, квадрат.
5) Переформировать мартицу таким образом, чтобы её столбцы располагались по убыванию их поэлементных сумм...

Ну и т. д... Не вбивать же сюда весь задачник...

В общем, надо объявление дать по форуму, чтобы народ отписался сколько будет участников и какие задания давать.

А объявление можно дать вот такое: "Конкурс по программированию, хотите принять участие?"
А дальше пусть все заинтересованные пишут:
1) Будут-ли они участвовать.
2) На каком(их) языке(ах) они могут программировать.
3) Какой сложности давать задания.
DELETED
6/1/2006, 8:23:08 PM
(Roman @ 01.06.2006 - время: 15:43) 1) Известно, что заданный граф - не дерево. Выяснить, можно-ли из него удалить одну вершину (вместе с инцидентными ей рёбрами) так, чтобы в результате получилось дерево.
2) Изобразить графически заданный планарный граф так, чтобы его рёбра не пересекались.
3) Дан целочисленный массив a(n).Определить сколько пар (положительное число, отрицательное число) находится в начале массива.
4) По заданным целочисленным координатам четырёх точек на плоскости определить, какую геометрическую фигуру они образуют, если их соединить в порядке ввода точек. Ответы: четырёхугольник с самопересечением, четырёхугольник, трапеция, параллелограмм, ромб, прямоугольник, квадрат.
5) Переформировать мартицу таким образом, чтобы её столбцы располагались по убыванию их поэлементных сумм...
1, 2 - думаю, графы не стоит трогать.
3 - слишком просто
4, 5 - ну что-то в таком духе...
Roman
6/1/2006, 8:29:49 PM
(jalt @ 01.06.2006 - время: 16:23) 1, 2 - думаю, графы не стоит трогать.
3 - слишком просто
4, 5 - ну что-то в таком духе...
Я тоже к этому склоняюсь.
DELETED
6/1/2006, 9:52:09 PM
(jalt @ 01.06.2006 - время: 15:11) ОК, тогда до завтра подберу задачку, сделаем объявление, сутки на выполнение - это что-то типа отборочного тура будет. Кто справится - участвуют в конкурсе. Как вам такой вариант?
А на другое время старт отборочного тура назначить нельзя?
С завтрашнего дня до вторника у меня не будет возможности выйти в интернет.
DELETED
6/1/2006, 11:46:12 PM
Ориентировочное время старта - фторнек.
-=Велла=-
6/2/2006, 2:20:30 AM
Вы тогда, когда подготовите задания, скажите мне, я сделаю объяву что ли? Чтоб народец присобрался, а там посмотрим, что дальше делать... В будние дни я на форуме днем всегда.