Triangulyasiya ardıcıllığı
Çoxbucaqlının triangulyasiyası, çoxbucaqlının təpələri arasında xətt seqmentləri çəkərək onu üçbucaqlara bölmək deməkdir. Bu xətt seqmentləri çoxbucaqlının daxilində yerləşməli, bir-biri ilə kəsişməməli və yalnız təpələrdə çoxbucaqlının tərəflərinə toxunmalıdır. Məsələn:
Misalda qalın xətt çoxbucaqlının sərhədlərini, nazik xətt isə triangulyasiyanı göstərir. n təpəli çoxbucaqlının hər triangulyasiyasında (n-2) üçbucaq yaranır.
Triangular ardıcıllıq, triangulyasiyanın ardıcıllığıdır. Bu, müəyyən bir təpədən başlayaraq çoxbucaqlının təpələri boyunca hərəkət edərək, onlara təsadüf edən üçbucaqların sayını yazmaqla əldə edilir. Yuxarıda verilmiş misal üçün belə ardıcıllıqlar (yuxarıdan başlayaraq, soldan sağa) olacaq:
A: 1 3 1 3 1 3
B: 2 2 1 4 1 2
C: 1 2 3 2 1 6 1 2 3 2 1 6
Verilmiş n təbii ədədlərdən ibarət ardıcıllığın n təpəli çoxbucaqlının triangulyasiyasının triangular ardıcıllığı olub-olmadığını müəyyən edən proqram yazın. Əgər cavab müsbətdirsə, triangulyasiyadakı üçbucaqların siyahısını leksikoqrafik ardıcıllıqla çıxarın.
Giriş verilənləri
Birinci sətir testlərin sayını p (1 ≤ p ≤ 1000) ehtiva edir.
Hər test bir sətirdən ibarətdir, bu sətir testin nömrəsini k, ardıcıllıqda olan ədədlərin sayını n (4 ≤ n ≤ 20) və ardıcıllığın özündəki n tam ədədləri müvafiq ardıcıllıqla, boşluqla ayrılmış şəkildə ehtiva edir.
Çıxış verilənləri
Hər test üçün bir neçə sətir çıxarın. Əgər giriş ardıcıllığı n-bucaqlı üçün triangular deyilsə, testin nömrəsini k, boşluq və böyük hərflə N çıxarın. Əks halda, birinci sətirdə testin nömrəsini k, boşluq və böyük hərflə Y çıxarın. Sonra n - 2 sətir çıxarın, hər sətirdə triangulyasiyadakı üçbucaqların təpə indekslərini, hər üçbucağı bir sətirdə, təpə indekslərini artan ardıcıllıqla çıxarın. Üçbucaqlar əvvəlcə leksikoqrafik olaraq sıralanmalıdır. Əgər k < l < m - bir üçbucağın təpə indeksləri, r < s < t - ikinci üçbucağın təpə indeksləridirsə, birinci üçbucaq leksikoqrafik olaraq ikinciyə əvvəl gəlir, əgər:
k < r OR (k == r AND l < s) OR (k == r AND l == s AND m < t)