Gənc bağban

   Balaca Sabir dərslərini oxuduqdan sonra bağda babasına kömək etməyi çox sevirdi. Sabir anadan olanda babası ona öz adını qoymuşdu. Sabir baba hər zaman deyərdi ki, “Bağa baxarsan bağ olar, baxmazsan dağ olar…“.

   Baba nəvəsini kiçik olduğuna görə çox da yormazdı. Balaca Sabir dünyaya gələndə babası onun adına bir ağac əkmişdi. Nəvə böyüdükcə ağac da böyüyürdü. Odur ki, balaca Sabirin işi bağdaki həmin ağaca baxmaqdan ibarət idi.

bağ

   Balaca Sabir bilirdi ki, ağaclar nə qədər ki, kiçikdirlər, onları çox yaxşı suvarmaq lazımdır. Amma nə qədər suvarmaq lazım olduğunu bilmirdi. Ona görə də babasından soruşmaq qərarına gəldi. Babası ona izah etdi ki, suvarma suyunun miqdarı ağacdakı yarpaqların cəmi miqdarı ilə düz mütənasibdir. Ağacların yaxşı böyüməsi üçün hər ağaca onun hər yarpağına bir litr olmaqla su vermək kifayətdir.

   Xoşbəxtlikdən Sabirin ağacındakı yarpaqlar yaruslarla böyüyür, başqa sözlə, ən yuxarıdakı birinci yarusda iki yarpaq, ikincidə dörd yarpaq, sonrakında altı yarpaq və s., hər sonrakı yarusda əvvəlkindən iki yarpaq çox olmaqla yerləşir. Ən yuxarıda isə əlavə bir yarpaq böyüyür. Sizdən tələb olunan Sabirin ağacı üçün onu suvarmağa lazım olan suyun miqdarını hesablayan proqram yazmaqdır.

Giriş verilənləri

   Tək sətirdə ağacda yarusların miqdarı olan n (0n1000) ədədi verilir.

Çıxış verilənləri

  Tək sətirdə ağacı suvarmaq üçün neçə litr suyun tələb olunduğunu vermək lazımdır.

Nümunə
Giriş verilənləri Çıxış verilənləri
3 13

   Proqramı özünüz tərtib etməyə çalışın. Əgər alınmasa, aşağıdakı həll ilə tanış olun.

Screen Shot 2020-07-29 at 16.49.36

Robot

   Xoşbəxtlər ölkəsinin məktəbliləri heç vaxt darıxmırdılar. Çünki onların məktəblərində Robototexnika fənni tədris olunurdu. Uşaqlar dərslərdə robot düzəldir, onlara müxtəlif missiyaları yerinə yetirməyi öyrədirdilər. Hətta aşağı siniflərin şagirdləri də boş oturmurdular. Onların robotları sadə olsa da, yeriməyi bacarırdı.

Robot

   Düzdür balacaların balaca robotları hələ ki, irəli və geriyə gedə bilirdi. Amma kiçik robot mühəndisləri söz vermişdilər ki, robotlarını gələcəkdə təkmilləşdirəcəklər və onlar nəinki sağa-sola da gedəcək, eləcə də tullanmağı və qaçmağı da bacaracaqlar.

   Məktəblilər robotlarını xüsusi bir zolaq üzərində hərəkət etdirirdilər. Eni 1 olan və hər iki tərəfə uzanan zolaq 1×1 ölçülü damalara bölünmüşdür. Bu damaların birində dayanan robot (aşağıdaki şəkildə həmin robot kvadratla işarə edilmişdir) bir damadan digərinə hərəkət edə bilər.

robot_path

   Robotun yerdəyişməsi hər bir əmri latın əlifbasının 3 böyük hərfinə – L, R, S hərflərinə uyğun proqramla müəyyənləşir. L əmri icra edildikdə robot bir dama sola, R əmrində bir dama sağa hərəkət edir, S əmrində isə olduğu damada qalır.

   Proqramın icrası dedikdə orda yazılan bütün əmrlərin ardıcıl yerinə yetirilməsi başa düşülür. Sizdən tələb olunan robotun neçə müxtəlif damaya getdiyini müəyyənləşdirən proqram yazmaqdır.

Giriş verilənləri

   Giriş verilənləri robot üçün yazılmış proqram olan L, R, S simvollarından ibarət tək sətirdir. Verilmiş bu proqram 10000 -dən çox olmayan əmrdən ibarətdir.

Çıxış verilənləri

  Tək sətirdə robotun öz proqramına əsasən gəzdiyi müxtəlif damaların sayını göstərən ədədi vermək lazımdır.

Nümunə
Giriş verilənləri Çıxış verilənləri
RRSRRLRR 6

   Proqramı özünüz tərtib etməyə çalışın. Əgər alınmasa, aşağıdakı həll ilə tanış olun.

robot_program

Mənbə: https://www.e-olymp.com

Sətrin açılması

   Latın əlifbasının böyük hərflərindən ibarət sətirə baxacağıq. Məsələn: AAAABCCCCCDDDD. Bu sətirin uzunluğu 14-ə bərabərdir. Burada təkrarlanan simvollar silinərək  həmin simvolların təkrarlanma sayını göstərən ədəd və bu simvolun özü ilə əvəz edilir. Yuxarıda verilmiş sətir 4AB5C4D kimi göstərilə bilər. Təsvir edilən metodu  sətirlərin yığılması adlandıracağıq.

setrlerin-acilmasi

   Yığılmış sətiri götürərək,  onun ilkin sətirini bərpa edən proqramı tərtib edin.

Giriş verilənləri

   Giriş verilənləri bir yığılmış sətirdən ibarətdir. Həmin sətirlərin maksimum uzunluğu 80-i aşmır.

Çıxış verilənləri

  Bərpa edilən sətir.

Nümunələr
Giriş verilənləri Çıxış verilənləri
3A4B7D AAABBBBDDDDDDD
12AB AAAAAAAAAAAAB

   Proqramı özünüz tərtib etməyə çalışın. Əgər alınmasa, aşağıdakı həll ilə tanış olun.

setrlerin_acilmasi