Musala Soft Logo Конкурс по програмиране на Musala Soft и PC Magazine Bulgaria PC Magazine Bulgaria Logo
  Състезателна система
Сезон 2010 - 2011
Сезон 2009 - 2010
Сезон 2008 - 2009
Сезон 2007 - 2008
Сезон 2006 - 2007
Сезон 2005 - 2006
Сезон 2004 - 2005
Сезон 2003 - 2004
Сезон 2002 - 2003
Правила
Задача 1
Задача 2
Задача 3
Задача 4
Задача 5
Задача 6
Класиране
Финален кръг
Сезон 2001 - 2002
Сезон 2000 - 2001
Описание на алгоритъма на задача 1 - Компресия: (от Любомир Славилов)

CODE.EXE
1. Като за начало програмата чете информацията от входния файл и я запомня в символен масив, след което на базата на числото от първя ред на входния файл се прави бърз анализ на отделните блокове 32х32 бита които съответстват на повтарящи се цифри... Ако блоковете не се отличават с повече от 16 бита на мястото на цифрата която се повтарая се поставя котва към базов блок от данни...
2. Следващата стъпка е същинската компресия по метода DRLE (Double Random Length Encoding), който е модифицирана версия на RLE, т.е. на всяка поредица от нули или единици се съпоставя число, което в случая е шест битово, като само пет от тях са значещи а шестия е запазен за знак...( 100100 = -4 = '11111'; ; 000111 = 7 = '00000000' );
3. Следва 'SEB' конвертиране, което на поредица от четири шестбитови числа, съпоставя поредица от три осембитови числа, за да стане възможно записването на байтове без излишно увеличаване на информационния обем...
4. Получения масив от байтове се записва във файла NUM.COD
DECODE.EXE
1. От входния файл се снема прототипите описващи състоянието на даните и по важното - котвите, както и няколко байта (не повече от три) които са остатъче продукт от SEB конвертирането.
2. Структурата от данни се подлага на ESB конвертиране, която на всяка поредица от три осембитови числа съпоставя поредица от четири шестбитови числа.
3. Следва обратно DRLE, което на всяко число съпоставя поредица нули или поредица еденици.
4. Запис на файла NUM.OUT

За въпроси можете да ни пишете на адрес: konkurs@musala.com.

Supported by Musala Soft Ltd.

Copyright 2000-2010 by Musala Soft Ltd. All rights reserved.