Кто лучше?

Непопадающие в другие разделы и прочие философские темы

Re: Кто лучше?

Сообщение Alexsandrit » 06 фев 2010, 23:10

Имеется список результатов голосования избирателей за несколько
партий, в виде списка названий данных партий.
На вход программе в первой строке подается количество избирателей
в списке N. В каждой из последующих N строк записано название
партии, за которую проголосовал данный избиратель, в виде
текстовой строки. Длина строки не превосходит 50 символов,
название может содержать буквы, цифры, пробелы и прочие
символы.
Пример входных данных:
6
Party one
Party two
Party three
Party three
Party two
Party three
Программа должна вывести список всех партий, встречающихся в
исходном списке, в порядке убывания количества голосов, отданных
за эту партию. При этом название каждой партии должно быть
выведено ровно один раз, вне зависимости от того, сколько голосов
было отдано за данную партию.
Пример выходных данных для приведенного выше примера входных
данных:
Party three
Party two
Party one
При этом следует учитывать, что количество голосов избирателей в
исходном списке может быть велико (свыше 1000), а количество
различных партий в этом списке не превосходит 10.
Изображение
:roll:
Alexsandrit
Активный участник
 
Сообщения: 256
Зарегистрирован: 29 сен 2007, 16:47
Домен: http://proekts.vfose.ru/

Re: Кто лучше?

Сообщение DPX-Infinity » 07 фев 2010, 00:52

Код: Выделить всёРазвернуть
import Data.Map as M
import Data.List
import System.IO
import System.Environment

main = fmap head getArgs >>= fmap (tail . lines) . readFile >>= putStr . doWork

doWork = doWork' M.empty
    where
        doWork' m [] = pprint (sortBy (\(_,v1) (_,v2) -> compare v2 v1) $ M.toList m)
        doWork' m (ln:lns) = doWork' (M.alter f ln m) lns
        f Nothing = Just 1
        f (Just n) = Just (n+1)
        pprint [] = ""
        pprint ((p,v):ps) = p ++ " -> " ++ show v ++ "\n" ++ pprint ps

вотЪ) в принципе, можно попытаться сделать и покороче, но мне лень)
Изображение
Переходите на Jabber! За ним будущее!
Желаю вам опенсорса!
Аватара пользователя
DPX-Infinity
Активный участник
 
Сообщения: 723
Зарегистрирован: 02 сен 2007, 20:45
Откуда: Саратов

Re: Кто лучше?

Сообщение -=GIG=- » 07 фев 2010, 01:18

Ммм... имеется текстовик вида pass pm , необходимо привести в вид pm;pass.
Текстовик в атаче:
Вложения
txt.zip
(2.78 Кб) Скачиваний: 309
Поймёт тот, кто с нами и тот, кто сналил, тоже поймёт.
Аватара пользователя
-=GIG=-
Активный участник
 
Сообщения: 659
Зарегистрирован: 17 ноя 2008, 08:45
Домен: smages.vfose.ru

Re: Кто лучше?

Сообщение Zver » 07 фев 2010, 10:46

Хватит тут выкладывать файлы брута! Не та тема!
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: Кто лучше?

Сообщение Кадет » 07 фев 2010, 12:26

-=GIG=- писал(а):Ммм... имеется текстовик вида pass pm , необходимо привести в вид pm;pass.
Текстовик в атаче:

В чём проблема-то? напиши сам :)
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Кто лучше?

Сообщение Zver » 19 июн 2010, 18:25

Что ж это тема вымерла. Выдвигайте свои идеи. Только не из раздела "сделайте за меня". :)
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: Кто лучше?

Сообщение Кадет » 19 июн 2010, 21:06

Тут не так много тех, у кого логика работает, раз, два и три... С кем соревноватся-то?
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Кто лучше?

Сообщение Zver » 19 июн 2010, 21:08

Но есть же.
Оффтоп:
Всё равно скучно :(
Zver
Активный участник
 
Сообщения: 1333
Зарегистрирован: 18 дек 2008, 18:51
Откуда: Саратов, Заводской

Re: Кто лучше?

Сообщение Dimanok » 19 июн 2010, 21:19

скукота...пойти сервер чтоли собрать
www.strike64.ru - Крупнейшая конференция о играх корпорации Valve, Поволжья
Dimanok
Автор
 
Сообщения: 3506
Зарегистрирован: 05 июл 2008, 11:02
Откуда: Саратов
Домен: http://www.strike64.ru

Пред.

Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26