Match Maker
Kompüter Elmlərində, naxış uyğunlaşdırma, müəyyən bir ardıcıllığın verilmiş naxışa uyğun olub-olmadığını yoxlamaq prosesidir. Naxışlar adətən müntəzəm ifadələrə əsaslanan bir dil vasitəsilə təyin edilir. Bu məsələdə, onluq rəqəmlərin ardıcıllıqlarında naxışları ifadə etmək üçün sadə bir müntəzəm ifadə istifadə edəcəyik. Naxış, bir və ya daha çox onluq rəqəmlərin '0' ...'9', ulduz işarələrinin '*', və haş işarələrinin '#' ardıcıllığıdır. '*' işarəsi cüt sayda rəqəmlərin ardıcıllığını, '#' isə tək sayda rəqəmlərin ardıcıllığını göstərir. Məsələn, "129" naxışı yalnız 129 ardıcıllığına uyğun gəlir. "1*3" naxışı 1 ilə başlayan, 3 ilə bitən və ilk və son rəqəmlər arasında cüt sayda onluq rəqəmlər olan bütün ardıcıllıqlara uyğun gəlir. Başqa bir misal olaraq, "#55" naxışı 155, 12355, 1234555 ardıcıllıqlarına uyğun gəlir, lakin 55, 1255, 123455 ardıcıllıqlarına uyğun gəlmir. Sizin vəzifəniz, verilmiş bir ardıcıllığın verilmiş naxışa uyğun olub-olmadığını tapmaq üçün bir proqram yazmaqdır.
Giriş verilənləri
Proqramınız bir və ya daha çox məlumat dəstində test ediləcək. Hər bir məlumat dəsti bir naxış və uyğunlaşdırılacaq bir və ya daha çox ardıcıllıqdan ibarətdir. Hər bir məlumat dəstinin ilk sətri naxışı, qalan sətirlər isə həmin naxışa qarşı uyğunlaşdırılacaq ardıcıllıqları göstərir. Məlumat dəstinin sonu (sonuncu istisna olmaqla) "END" sözü ilə müəyyən edilir (ikiqat dırnaq işarələri olmadan). Sonuncu məlumat dəstinin sonu "QUIT" sözü ilə müəyyən edilir. Bütün sətirlər 100000 simvoldan qısa və ya bərabərdir.
Çıxış verilənləri
k.s. nəticə
Burada k test halının nömrəsidir (birincidən başlayaraq,) və s hər test halı daxilində ardıcıllıq nömrəsidir (birincidən başlayaraq,) və nəticə verilmiş ardıcıllığın naxışa uyğun gəldiyi halda "match" sözü, uyğun gəlmədiyi halda isə "not" sözüdür.