Я глубоко осознаю что для решения задач главное - это умение думать, но тем не менее меня давно интересует такой вопрос: насколько важное место занимает умение быстро печатать в олимпиадном программировании? Как это влияет на успешность выступления на соревнованиях? Каков минимум по скорости набора кода (символов в минуту) для программистов желающих занимать призовые места на соревнованиях? Каким образом лучше развить это умение?
Сам я понимаю, что очень важное в этом деле освоить метод слепого набора. Но основная проблема здесь - это то, что в отличие от набора обычного текста в наборе коде приходиться очень часто использовать специфические символы, которые не так же легко доступны. Вначале я пробовал решить эту проблему использованием специальной раскладки, а именно Programer's Dvorak, но позже отказался от этого, ибо проблема в том, что эта раскладка будет доступна в основном только на моем компе, и далеко не всегда может быть доступна на других.
Буду рад вашим мыслям и советам по этому поводу.
Сам я понимаю, что очень важное в этом деле освоить метод слепого набора. Но основная проблема здесь - это то, что в отличие от набора обычного текста в наборе коде приходиться очень часто использовать специфические символы, которые не так же легко доступны. Вначале я пробовал решить эту проблему использованием специальной раскладки, а именно Programer's Dvorak, но позже отказался от этого, ибо проблема в том, что эта раскладка будет доступна в основном только на моем компе, и далеко не всегда может быть доступна на других.
Буду рад вашим мыслям и советам по этому поводу.
Помню сам когда то поражался , как люди набирают "слепым методом". Но время шло - я всё больше занимался и вот сам не заметил, как начал неглядя набирать текст с приличной скоростью.
Где то читал, что весьма вожно, чтобы кодер как можно меньше "подключал голову" во время написания. То есть многие вещи должны быть доведены до автоматизма. Поэтому я никогда не таскаю код из одного проекта в другой. Каждый исходник набирается полностью сам. Это как раз и тренерует автоматический набор алгоритмов. Ну и тренеровка для скорости набора.
Можно попробовать поработать на "Соло на клавиатуре". Очень хорошая программа.
А умение найти и скопировать проверенный участок кода из другого места мне кажется гораздо важнее умения быстро накодить десяток стандартов.
Ага-ага, особенно во время онсайт контеста. :) :)
Если именно тренироваться к онсайтам, где старый код можно использовать весьма ограниченно (например, бумажный Team Notebook на финале ICPC, полчаса настройки на TCO), то лучше как раз уметь быстро и безошибочно набирать известный код. К тому же задачи, где нужно модифицировать известный алгоритм, а не использовать его как чёрный ящик, я бы как раз и назвал “наиболее олимпиадными”. А в таких задачах модификация известного кода часто не имеет большого преимущества перед написанием его с нуля.
Для всех других целей полезно уметь пользоваться написанным ранее, конечно.
Я про то, что умение накодить десяток стандартов важнее умения скопипастить готовый код.
Но важность копипаста никто не отменял, да-да.
Но всё равно умение "автоматически накодить десяток стандартов" важнее умения "найти и скопировать проверенный участок кода из другого места".
Или я не прав? :-)
У меня, как мне кажется, пока наоборот - очень часто руки не успевают за головой, и я понимаю, что набор отнимает слишком много драгоценного времени, отведенного на решение задачи, которое я бы мог потратить на более глубокое продумывание алгоритма. Особенно это ощущается на TopCoder'е, где на решение отводиться сравнительно немного времени.
Сейчас взял решения жюри с NEERC задач, которые решила команда Петразаводска - получилось около 30000 байт (с вычетом шаблона). Если набирать со средней скоростью 200 символ/минута, то уйдет пол контеста, так что видимо, чем выше скорость - тем лучше =)
Как показывает практика: можно набирать быстро и 6 пальцами, но считаю, что НУЖНО научиться набирать 10 пальцами. Плюсы очевидны. Это не так уж и сложно. Пару месяцев попотеть и придет совсем другая культура набора текста. Я прошел русскую и английскую раскладку в "СОЛО на клавиатуре" и всем рекомендую!
Одно из самых последних. Слабо. 150-200 зн/с будет достаточно. Тупыми упражнениями, отказом от пользования мышью и викторинами на IRC.
Слабые и средние команды почти все время тратят на придумывание или отладку решений, так что скорость набора на их результат влияет слабо.
Но сейчас я все больше и больше убеждаюсь, что скорость набора не имеет вообще никакого значения. Важно уметь написать сравнительно короткое решение - если вы КМП пишете на три страницы, то никакая скорость допустим не поможет :о) Но именно скорость вбивания буковок вообще не решает. Писать надо, как уже сказали, так, чтобы мысль поспевала за кодом :о)
Ага, но и чтоб код не сильно отставал от мысли. :)
А вообще, конечно, научится быстро печатать - это дело техники, а вот научиться быстро думать - это вещь уже не такая тривиальная... И это, наверно, уже вопрос для другой темы.