пятница, 14 марта 2014 г.

Задания на анализ числовых последовательностей

№1 
В те­ле­ви­зи­он­ном тан­це­валь­ном ма­ра­фо­не с опре­де­ле­ни­ем по­бе­ди­те­ля с по­мо­щью те­ле­зри­те­лей после каж­до­го тура объ­яв­ля­ет­ся sms-го­ло­со­ва­ние, в ко­то­ром зри­те­ли ука­зы­ва­ют наи­бо­лее по­нра­вив­шу­ю­ся им пару из мак­си­мум 10 пар, ко­то­рые участ­ву­ют в про­ек­те. Вам пред­ла­га­ет­ся на­пи­сать эф­фек­тив­ную, в том числе по ис­поль­зу­е­мой па­мя­ти, про­грам­му, ко­то­рая будет об­ра­ба­ты­вать ре­зуль­та­ты sms-го­ло­со­ва­ния по дан­но­му во­про­су. Ре­зуль­та­ты го­ло­со­ва­ния по­лу­че­ны в виде но­ме­ров пар (каж­дый эле­мент спис­ка со­от­вет­ству­ет од­но­му sms-со­об­ще­нию). Сле­ду­ет учи­ты­вать, что ко­ли­че­ство го­ло­сов в спис­ке может быть очень ве­ли­ко. Перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый Вами ал­го­ритм ре­ше­ния за­да­чи. На вход про­грам­ме в пер­вой стро­ке подаётся ко­ли­че­ство при­шед­ших sms-со­об­ще­ний N. В каж­дой из по­сле­ду­ю­щих N строк за­пи­сан номер пары от 1 до 10.При­мер вход­ных дан­ных:
4
2
10
3
2

Про­грам­ма долж­на вы­ве­сти спи­сок всех пар, встре­ча­ю­щих­ся в спис­ке, в по­ряд­ке воз­рас­та­ния (не­убы­ва­ния) ко­ли­че­ства го­ло­сов, от­дан­ных за ту или иную пару, с ука­за­ни­ем ко­ли­че­ства от­дан­ных за неё го­ло­сов. При этом каж­дая пара долж­на быть вы­ве­де­на ровно один раз вне за­ви­си­мо­сти от того, сколь­ко раз она встре­ча­ет­ся в спис­ке.При­мер вы­ход­ных дан­ных для при­ведённого выше при­ме­ра вход­ных дан­ных:
3 1
10 1
2 2

№2
В ко­манд­ных олим­пи­а­дах по про­грам­ми­ро­ва­нию для ре­ше­ния пред­ла­га­ет­ся не боль­ше 12 задач. Ко­ман­да может ре­шать пред­ло­жен­ные за­да­чи в любом по­ряд­ке. Под­го­тов­лен­ные ре­ше­ния ко­ман­да по­сы­ла­ет в еди­ную про­ве­ря­ю­щую си­сте­му со­рев­но­ва­ний. Вам пред­ла­га­ет­ся на­пи­сать эф­фек­тив­ную, в том числе по ис­поль­зу­е­мой па­мя­ти, про­грам­му, ко­то­рая будет ста­ти­сти­че­ски об­ра­ба­ты­вать при­шед­шие за­про­сы на про­вер­ку, чтобы опре­де­лить по­пу­ляр­ность той или иной за­да­чи. Сле­ду­ет учи­ты­вать, что ко­ли­че­ство за­про­сов в спис­ке может быть очень ве­ли­ко, так как мно­гие со­рев­но­ва­ния про­хо­дят с ис­поль­зо­ва­ни­ем сети Ин­тер­нет. Перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый Вами ал­го­ритм ре­ше­ния за­да­чи. На вход про­грам­ме в пер­вой стро­ке подаётся ко­ли­че­ство при­шед­ших за­про­сов N. В каж­дой из по­сле­ду­ю­щих N строк за­пи­сан номер за­да­чи от 1 до 12. При­мер вход­ных дан­ных:
6
1
2
1
1
5
2

Про­грам­ма долж­на на­пе­ча­тать све­де­ния о ко­ли­че­стве за­про­сов на про­вер­ку для каж­дой за­да­чи. Све­де­ния о каж­дой за­да­че вы­во­дят­ся в от­дель­ной стро­ке: сна­ча­ла вы­во­дит­ся номер за­да­чи, потом — со­от­вет­ству­ю­щее ко­ли­че­ство за­про­сов. Све­де­ния о за­да­чах, ко­то­рые не по­сту­па­ли на про­вер­ку, вы­во­дить не нужно. Стро­ки долж­ны быть упо­ря­до­че­ны по убы­ва­нию ко­ли­че­ства за­про­сов, при ра­вен­стве ко­ли­че­ства за­про­сов — по воз­рас­та­нию но­ме­ров задач. При­мер вы­ход­ных дан­ных для при­ведённого выше при­ме­ра вход­ных дан­ных:
1 3
2 2
5 1


Комментариев нет:

Отправить комментарий