|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.04.2013, 14:18 | #1 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Необходимо отсортировать N элементов по К параметрам по убыванию.
Ученики физико-математического класса любят шутить. Ярик начал коллекционировать юмор своих одноклассников. После нескольких дней кропотливой работы шуток оказалось слишком много, поэтому находчивый Ярик решил систематизировать свою коллекцию.
Каждую из N шуток Ярик оценил по K различным параметрам, таким как <<оригинальность>>, <<остроумность>>, <<классность>> и др. Ярик хочет отсортировать шутки от самой лучшей к самой плохой. Шутка $X$ хуже шутки Y, если первый параметр шутки X меньше первого параметра шутки Y. Если эти параметры равны, то Ярик сравнивает вторые параметры, и т. д. Таким образом, при равенстве i-ых параметров нужно сравнивать (i + 1)-ые параметры, и т. д. Так как Ярик слишком увлечён игрой в DotA, сортировать его шутки придётся вам. \InputFile В первой строке введены два целых числа $N$ и $K$ ($1 \le K \le 13$), разделённых пробелом --- количество шуток в коллекции Ярика и количество параметров, по которым Ярик оценил каждую шутку. В следующих N строках описываются шутки. В i-ой строке введено K целых чисел , разделённых пробелом --- параметры i-ой шутки. Гарантируется, что никакие две шутки Ярик не оценил одинаково. \OutputFile Выведите N целых чисел через пробел --- номера шуток, отсортированных по выше указанным правилам. Требуется воспользоваться процедурой MergeSort. У меня проблемы при их сравнивании. Вот алгоритм действий В этой задаче пары шуток нельзя было сравнить обычным знаком <. Чтобы сравнить шутки, нужно было пройти циклом от 1 до K по параметрам, а затем сравнивать каждый параметр в отдельности. Как только соответствующие параметры у данных шуток не совпали, нужно прервать цикл. Пример. Ввод 2 3 1 2 3 1 2 4 Вывод 2 1 Пожалуйста,помогите мне. Я конечно поразбираюсь,но пора делать уроки,а олимпиада уже послезавтра. |
25.04.2013, 15:13 | #2 | ||
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
Цитата:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
||
25.04.2013, 15:16 | #3 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
Шоб я так жил , в то время когда я учавствовал в олимпиадах по программированию интернета не было
Но таким путём участвовать в олимпиадах по программирыванию точно не стоит!!! это конечно офтопик, да простит меня модератор |
25.04.2013, 16:14 | #4 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Нет)))
Я не играю в игры,подобные доте. Конкретно сейчас я учу биологию,мне отвечать. И это не задание олимпиады этой, оно с прошлого года. Все же спасибо заранее |
25.04.2013, 20:13 | #5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,331
|
Учитывая, что это прошедшая олимпиада (задание ведь уже известно) могу предложить простое решение:
1. Пишем ту часть, которая считывает исходные данные. 2. При считывании параметров шуток формируем строки и записываем в массив. 3. Полученный массив сортируем по убыванию. Строки можно просто сравнивать^ Код:
Как-то так ...
Как-то так, ...
|
25.04.2013, 20:34 | #6 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Виктор, отличная идея! Т.к. Length(m) будет равно Length(m-1) то сравнение пойдет по ASCII кодам.. а это нам на руку. (вот зараза.. плюс поставить не разрешает..). А для конспирации можно загнать это в процедуру под название Merge Sort |
|
25.04.2013, 21:07 | #7 |
Пользователь
Регистрация: 23.04.2013
Сообщений: 18
|
Согласен, решение класс плюсанул
|
25.04.2013, 21:47 | #8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Навеяно решением Виктора, а если сделать все слегка попроще? Тоесть делать практически то, что предложил Виктор, НО с числами. У этого есть свои преимущества :
- Быстродействие - Это понятно даже на интуитивном уровне, нежели работа со строками (ИМХО) Но есть и недостатки : - Кол-во позиций для сравнения будет введено в жестокие рамки. И так мой вариант : Код:
Не проверял.. |
26.04.2013, 12:25 | #9 |
Пользователь
Регистрация: 22.04.2013
Сообщений: 25
|
Отличная идея,Виктор, напишу и отпишусь,как работает!
|
26.04.2013, 12:44 | #10 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
ни какое-либо другое ограничение (кроме общих ограничений языка целое <2**31) как вам такой пример Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 26.04.2013 в 12:54. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка матрицы. Первую и вторую строки отсортировать выбором по убыванию, пятый и шестой столбец отсортировать (С++) | Sasha316 | Помощь студентам | 0 | 23.11.2012 00:48 |
отсортировать символы по убыванию частот | sacreden | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 25.02.2012 15:55 |
помогите отсортировать значения по параметрам | malenro84 | Microsoft Office Excel | 1 | 05.05.2009 23:59 |
Отсортировать массив по убыванию в С++ | sershok | Помощь студентам | 5 | 16.02.2009 00:31 |