LATEX-də kəsr
LATEX nəşriyyat sistemi, çoxlu sayda düsturlar olan mürəkkəb elmi-texniki mətnlərin yığılması üçün nəzərdə tutulmuşdur. LATEX sistemində ilkin fayl TEX dilində yazılır və xüsusi simvollar və komandalarla zənginləşdirilmiş mətn sənədindən ibarətdir. Bu xüsusi simvollar və komandalar, xüsusilə riyazi düsturların yerləşdirilməsini təsvir edir. Komanda, qarşısında \simvolu olan latın hərflərinin ardıcıllığından ibarətdir (böyük-kiçik hərf fərqi əhəmiyyətlidir). Məsələn, \frac komandası, surətin məxrəcin üzərində yerləşdiyi bir kəsrin təsviri üçün istifadə olunur. \frac komandasının ən sadə strukturunu nəzərdən keçirək.
\frac komandası iki parametrə malikdir - surət və məxrəc. Komandanın özündən əvvəl boşluq qoymaq məcburi deyil. Açar söz \frac-dan sonra surət və məxrəc yazılır. Əgər surət və məxrəc bir simvoldan uzun olarsa, onlar qıvrım mötərizələrə alınır. Əgər surət və ya məxrəc bir hərf və ya rəqəmlə yazılırsa, onları qıvrım mötərizələrə almaq lazım deyil. Əgər surət bir simvolla yazılırsa, o, \frac-dan ən azı bir boşluqla ayrılır. Əgər məxrəc bir simvolla yazılırsa, o, surətdən boşluqla ayrılmır. İstənilən qeyri-sıfır sayda boşluq sintaktik olaraq bir boşluğa bərabər hesab olunur. Açar söz \frac-ı hissələrə ayırmaq üçün boşluqlar qoymaq olmaz.
Tapşırığımız üçün ifadənin formal təriflərini də verək:
<ifadə> ::= <element> | <element><ifadə>
<element> ::= <kəsr> | { <ifadə> } | <başqa riyazi element>
<kəsr> ::= "\frac" <kəsrin gövdəsi>
<kəsrin gövdəsi> ::= <surət><məxrəc>
<surət> ::= <boşluqlar><boşluq olmayan simvol> | [<boşluqlar>] "{" <ifadə> "}"
<məxrəc> ::= <boşluq olmayan simvol> | [<boşluqlar>] "{" <ifadə> "}"
<başqa riyazi element> ::= qıvrım mötərizələr və \frac alt sətri olmayan istənilən çap simvolları ardıcıllığı
<boşluqlar> ::= " " | " " <boşluqlar>
<boşluq olmayan simvol> ::= " ", "\", "{" və "}" istisna olmaqla istənilən çap simvolu
Burada şaquli xətt | ya da deməkdir, kvadrat mötərizələrə alınmış hissə olmaya bilər və dırnaq içində yazılmış simvollar özlərini ifadə edir. Çap simvolu - ASCII kodu 32 (boşluq) ilə 127 arasında olan istənilən simvoldur.
Məsələn, ifadə
TEX dilində belə yazılır
\frac{a+b}{d+1}+\frac ax -\frac 2 {2+\frac{3}{y}}
Çap olunmuş sənəddə düsturu çıxarmaq üçün, çapda istifadə olunan şrift üçün onun hündürlüyünü hesablamaq lazımdır. Şrift S – növbəti simvolun hündürlüyünü və D – üfüqi kəsr xəttinin hündürlüyünü müəyyən edir. S və D dəyərləri tam ədədlərlə verilir. Sizin vəzifəniz - TEX dilində verilmiş ifadə üçün düsturun hündürlüyünü hesablamaqdır.
Qeyd edək ki, əgər iki kəsr bir ifadəyə aiddirsə, onların kəsr xətləri eyni səviyyədə yazılır, əks halda (məsələn, müxtəlif kəsrlərin surət və ya məxrəclərinə aiddirsə), bu xüsusiyyət yerinə yetirilməyə bilər. Bu qaydanın tətbiqini göstərmək üçün iki nümunə təqdim edirik:
\frac{a+b}{\frac cd}+\frac{\frac ef}{g+h}
\frac{a+b+c}{\frac{\frac de}{g+h}}+\frac{i+j+k}{\frac{l+m}{\frac no}}
Giriş verilənləri
Birinci sətirdə tam müsbət ədədlər S və D (1 ≤ S, D ≤ 10000) yerləşir. Növbəti sətir TEX-də ifadənin təsvirini ehtiva edir, sətirin uzunluğu 200 simvoldan çox deyil. İfadənin sintaktik olaraq düzgün olduğu, yəni qıvrım mötərizələrin düzgün mötərizə ardıcıllığı yaratdığı və sətirin yalnız çap simvolları ehtiva etdiyi təmin edilir. Sətirdə rast gəlinən bütün \ simvolları bəzi komanda ardıcıllığına aiddir (mütləq \frac deyil), digər komanda ardıcıllıqlarının simvolların hündürlüyünü S olaraq təyin etdiyini qəbul edə bilərsiniz. Hər bir kəsrin surət və məxrəci ən azı bir simvol ehtiva edir, bütün ifadə ən azı bir simvol ehtiva edir.
Çıxış verilənləri
Çıxış faylında ifadənin hündürlüyünü göstərən tək bir ədəd çıxarın.