Вниз  Разбор интересных задач
- 27.07.2012 / 17:51
Dmitriy
  Пользователь

Dmitriy 
Сейчас: Offline
- 27.07.2012 / 17:52
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
    Напишите программу, которой на стандартный вход подается последовательность символов. Длина последовательности заранее не известна. Признаком конца последовательности считается точка. Программа должна вывести десятичную запись числа, минимального среди всех чисел, чьи записи можно составить из всех цифр, встретившихся во входной последовательности. Если цифр в последовательности нет, программа выводит число -1. При наличии цифр каждая из них должна быть использована ровно столько раз, сколько раз она встретилась в тексте. Исключением являются случаи, когда все цифры в последовательности являются нулями. В таких случаях программа выводит 0, т. е. ответ записывается одной цифрой. В остальных случаях выдаваемая запись числа не может начинаться с нуля. То есть, в записи результата не должно быть незначащих нулей. Известно, что количество вхождений любой цифры во входную последовательность не превышает 32000. В программе должен быть реализован эффективный алгоритм, не предполагающий хранение всей входной последовательности и всего результата в памяти. Суммарный размер используемых в программе переменных не должен быть пропорционален длине входной последовательности или длине результата. Дополнительные файлы не использовать. Пример работы программы:
Ввод: A9B8C7D6E5F4G3H2.
Вывод: 23456789

Открыть спойлер

- 27.07.2012 / 17:57
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Ксакеп, на будущее, юзай StringBuilder.
__________________
 let live
- 27.07.2012 / 18:00
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
aNNiMON, знаю, знаю..


Прикрепленные файлы:
PipezNum.exe (5.5 кб.) Скачано 546 раз
- 3.08.2012 / 14:19
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
Теперь есть одна интересная задача, решить которую предлагаю уже вам. Ответов я не знаю.

Анализ логов

В файле log.txt хранятся идентификаторы запросов QueryID и ссылок URLID, по которым кликали пользователи поисковой системы. Ваша задача для каждого запроса, указанного в файле queries.txt, определить:

1. ClickNum - суммарное количество кликов на различные URLID запроса FavouriteURLID
2. URLID, который в данном запросе пользовался наибольшей популярностью у пользователей и FavouriteURLClickNum – количество кликов по этому URLID. Если данный запрос отсутствует в логах, положите FavouriteURLID=-1, FavouriteURLClickNum = -1. Если в данном запросе несколько популярных URL, укажите наибольший URLID.

На каждой строчке файла output.txt через пробел укажите:
QueryID ClickNum FavouriteURLID FavouriteURLClickNum
В файле output.txt запросы QueryID должны идти в том же порядке, что и в файле queries.txt.

Пример
  1. # log.txt
  2. # QueryID URLID
  3. 45            1832
  4. 34            2839
  5. 45            1830
  6. 12            2031
  7. 45            1832
  8. 45            1830
  9. 12            2031
  10. 45            1832
  11. 12            7002
  12. 33            8033
  13. 45            1830

  1. # queries.txt
  2. 12
  3. 10
  4. 45
  5. 34
  6. 20

  1. # output.txt
  2. 12    3    2031    2
  3. 10    0    -1        -1
  4. 45    6    1832    3
  5. 34    1    2839    1
  6. 20    0    -1        -1

У меня на компьютере лежит файл в 1Мб, и файл в 1Гб и в 8Гб. Как напишите готовую программу, которая будет выплевывать результат - залейте сюда, я протестирую. К тому же желательно предоставить несколько алгоритмов. Буду ждать. Победителю 1000 монет :gg:
- 4.08.2012 / 00:32
Freddy
  Пользователь

Freddy 
Сейчас: Offline
Такие вещи проще в бд решить с помощью SQL запроса, оставив программисту кроме самого запроса вставку в таблицу и форматированный вывод результата, чем своё подобие реляционной базы изобретать.
- 4.08.2012 / 00:39
anasezzz
  Пользователь

anasezzz 
Сейчас: Offline
Эти задачи очень похожи на задачи С4 ЕГЭ по информатике, правда, на порядок сложнее.
- 4.08.2012 / 08:25
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
anasezzz, я хз.
Freddy, согласен. Но проблема в том, что это реальная ситуация. Около полугода назад яндекс делал конкурс по улучшению алгоритма поиска, ну и предоставил логи. Их нужно было обрабатывать должным образом и думать, какая ссылка решила проблему пользователя. И так далее.
- 4.08.2012 / 11:09
anasezzz
  Пользователь

anasezzz 
Сейчас: Offline
Ксакеп, ничего, возможно скоро узнаешь.
- 10.08.2012 / 20:48
XakepPRO
  Модератор форума

XakepPRO 
Сейчас: Offline
Наверх  Всего сообщений: 751
Фильтровать сообщения
Поиск по теме
Файлы топика (34)