Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal]Сортировка числе по возврастанию


Автор: ahito1 17.11.2008, 23:01
Помогите, решить, или подсказать где искать решение задачки, условие распространенное, но нигде не могу найти:(

           "Определите, какое наименьшее количество операций обмена между парами элементов нужно сделать для данного начальго расположения, чтобы отсортировать числа в элементах памяти по возврастанию
            Формат входных данных:
            Первая строка файла SORT.DAT содержит натуральное число N (1=<N=<30000).
            Вторая строка файла содержит N попарно разных чисел, которые расположены соответственно в первом, втором, ...,  N элементе памяти в начале сортировки. Все числа находятся в интервале от 0 до 30000 включительно.
           Формат выходных данных:
           Файл SORT.SOL должен содержать одно число M - наименьшее возможное количество операций обмена между парами элементов памяти для достижения расположения чисел в порядке возврастания.

Например:
 ----------------SORT.DAT--------   --------SORT.SOL--------
-------------------------------------   ----------------------------
5                                                --               6           ---
1          6        5      9         8       --                            --- 
-------------------------------------    ---------------------------

Для данного примера числе можно предложить такие обмены:

1) 16598->61598,
2)           61598->51698,
3)                    51698->15698,
4)                               15698->95618,
5)                                        95618->85619,
6)                                                 85619->15689.

Нужно срочно, времени почти нет, сдавать нужно, а выучить за день не смогу, книги купил, литературы хватает, помогите пожалуйста!

Автор: volvo877 18.11.2008, 01:29
Я тебе в разделе Паскаль уже сказал, здесь тоже повторю: пока в условии нет никаких ограничений на то, как именно можно менять пары элементов, и как - нельзя, приведенный тобой ответ неверен. Это же можно сделать не за 6, а за 2 обмена: (6 <-> 5  и 9 <-> 8), и цифры точно так же будут отсортированы. И, заметь, условий задания это не нарушает...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)