|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.02.2014, 22:54 | #1 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
челночный бег
Одним из важных видов тренировки легкоатлетов является челночный бег. Суть этого упражнения заключается в многократном прохождении одной и той же короткой дистанции в прямом и обратном направлении. Пусть была выбрана дистанция длиной L метров, в начальный момент спортсмен находится в начале дистанции и начинает бежать в направлении другого конца с постоянной скоростью 10 метров в секунду. Когда спортсмен достигнет конца или начала дистанции, он сразу же разворачивается (временем необходимым на этот разворот пренебрегаем) и бежит в противоположном направлении с той же скоростью. Длится это упражнение на протяжении T секунд. На расстоянии D от начала дистанции расположен датчик, который фиксирует появление бегуна в этой точке. Определите сколько раз во время бега будет зафиксировано появление спортсмена в точке, где находится датчик.
Формат входных данных В единственной строке задаются три целых числа L, T и D (1 ≤ L ≤ 106, 0 ≤ T ≤ 109, 0 ≤ D ≤ L). Значение L кратно 10. Меня ума хватило на такое (это 44%), подскажите плиз, где ошибки, как его оптимизировать? Код:
|
17.02.2014, 08:19 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Ну примерно так, имхо:
L - длина дистанции, T - время бега D - расстояние до датчика от начала дистанции K - кол-во бегов мимо датчика Сколько раз он пробежит дистанцию полностью - можно определить по формуле: 10 (м/с) * T - это расстояние полностью K:=10*T div L - это сколько целых дистанций уложилось в данное расстояние - столько же раз он пробежал мимо датчика 10*T mod L - это остаток, сколько неполных дистанций (точнее, неполная дистанция одна, сколько метров из нее он пробежал). Учтем четность полных дистанций - если число четное, то последнюю он бежит от начала, инача от конца, соответственно и сравнения дальше разные, то есть: Если (K четное и (10*T mod L)>=D) или если (K нечетное и (L-10*T mod L)<=D) тогда K:=K+1 Как-то так
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 17.02.2014 в 08:23. |
17.02.2014, 08:22 | #3 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
По поводу кода:
1) не вижу необходимости вводить дополнительную L1, но судя по условиям, нужно добавить код проверки на кратность L десяти и на соблюдение указанных Вами же условий. 2) если в условиях задачи не указано специально, что ее нужно решать с помощью цикла - рекомендую воспользоваться паскалевской арифметикой (формулы выше) и выкинуть цикл из кода.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
17.02.2014, 14:38 | #4 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
Я правильно вас понял?
Код:
|
17.02.2014, 14:52 | #5 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
Заменил тип к на word cтало 56%
|
17.02.2014, 14:57 | #6 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Каким образом у Вас сочетаются проценты и "сколько раз во время бега будет зафиксировано появление спортсмена в точке, где находится датчик"?
Поняли правильно, но под проверкой ввода я предполагал немного более сложную структуру: Код:
И еще - L не может быть больше 1, скорее уж больше 10, инаяе это противоречит условию кратности.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 17.02.2014 в 15:01. |
17.02.2014, 15:00 | #7 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
Проценты, это сколько тестов проходит правильно, то есть процент "правильности решения")) Извините, за путаницу
|
17.02.2014, 15:02 | #8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
так вы бы ссылку то на сайт давали, где проверяете, а то я думал - очередная лабораторная по программированию
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
17.02.2014, 15:45 | #9 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
http://ejudge.ippo.dn.ua это олимпиада
|