Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Extremall
Зарегистрирован: 15.02.2007 Сообщения: 2
|
Добавлено: Ср Фев 21, 2007 2:19 pm Заголовок сообщения: Шкатулка Тьюринга |
|
|
Не могу понять, какие в этой программе входные данные? |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Ср Фев 21, 2007 2:28 pm Заголовок сообщения: Re: Шкатулка Тьюринга |
|
|
Extremall писал(а): | Не могу понять, какие в этой программе входные данные? |
Входных данных для вашей программы нет никаких. От вас требуется набор правил описывающих поведение машины.
Эти правила в себя зачитывает программа Judge и прогоняет на их основе некоторый набор мелодий. В зависимости от результата начисляются очки. |
|
Вернуться к началу |
|
|
Vedernikoff Sergey
Зарегистрирован: 22.02.2007 Сообщения: 2
|
Добавлено: Чт Фев 22, 2007 1:49 pm Заголовок сообщения: |
|
|
А можно более подробно разузнать про начисление очков? Например, пусть задана мелодия:
da da da da da da da da da
, а мой алгоритм играет по ней, предположим,
da da da da um da da da da
Сколько очков в этом случае я получу? |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Чт Фев 22, 2007 2:39 pm Заголовок сообщения: |
|
|
Счет считается по следующей формуле:
Код: | int score = 0 >? (n - dist (m, n, s, r)); |
Где функция dist - расстояние Левинштейна:
Код: |
short d[2000][2000];
int dist (int* a, int n, int *b, int m)
{
if (!n || !m) return n+m;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
{
d[i][j] = (a[i]!=b[j])+((i>0&&j>0)?d[i-1][j-1]:i+j);
d[i][j] <?= 1+((i>0)?d[i-1][j]:j);
d[i][j] <?= 1+((j>0)?d[i][j-1]:i);
}
return d[n-1][m-1];
}
|
Последний раз редактировалось: Turbo (Чт Фев 22, 2007 3:10 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
Turbo Site Admin
Зарегистрирован: 19.02.2006 Сообщения: 248
|
Добавлено: Чт Фев 22, 2007 3:00 pm Заголовок сообщения: |
|
|
Vedernikoff Sergey писал(а): | А можно более подробно разузнать про начисление очков? Например, пусть задана мелодия:
da da da da da da da da da
, а мой алгоритм играет по ней, предположим,
da da da da um da da da da
Сколько очков в этом случае я получу? |
В данном случае будет 8 очков. Да, вижу что условие в задаче возможно написано не совсем корректно. Попробую сейчас его немного поправить. |
|
Вернуться к началу |
|
|
|