Dihedral qrupda vurma#6242

Dihedral qrupda vurma

5 saniyə
128 meqabayt
Asan

Diederal qrup D, D çoxluğunda müəyyən olunmuş * vurma əməliyyatına malikdir. D çoxluğu a və b elementləri ilə yaradılır. Vurma əməliyyatı * açıq şəkildə yazılmayacaq, yəni a*a - aa və ya a^2 kimi göstəriləcəkdir. Eyni şəkildə a*a*b - a^2b^1 və ya sadəcə a^2b kimi yazılır.

Diederal qrupun D iki tam ədədi parametri var: m və n, burada m 2, n 2. Ona görə də, diederal qrupu D_m,n kimi yazılır. D_m,n-ni müəyyən edən əlaqələr:

a^m = a^0 = 1, b^n = b^0 = 1, və ba = a^{m-1}b.

Deməli, D_m,n-də mn element var:

D_m,n = { a^j b^k 0 j m, 0 k n } = { a^0b^0, a^1b^0, a^2b^0, , a^{m-1}b^0, , a^{m-1}b^{n-1} }.

Məsələn, m = 7, n = 2 olduqda, D_7,2 elementləri:

{ a^0b^0, a^1b^0, a^2b^0, a^3b^0, a^4b^0, a^5b^0, a^6b^0, a^0b^1, a^1b^1, a^2b^1, a^3b^1, a^4b^1, a^5b^1, a^6b^1 }.

Çarpma əməliyyatı kommutativ deyil, yəni ba \neq ab. Sözün əsl mənasında, ba = a^6b D_7,2-nin müəyyənedici əlaqələrinə əsasən. Həmçinin, a^ja^k = a^{(j+k) \% m}, b^jb^k = b^{(j+k) \% n}. Beləliklə,

(a^jb^k)(a^pb^q) \neq (a^{(j+p) \% m}b^{(k+q) \% n}).

D_7,2 qrupundan iki element (a^3b^1) və (a^2b^1) vurmaq üçün aşağıdakı kimi davam edirik:

(a^3b^1)(a^2b^1) = (a^3b^0)(ba)(a^1b^1) = (a^3b^0)(a^6b^1)(a^1b^1),

çünki ba = a^6b.

a^3b^0a^6 = a^3a^6 = a^{(3+6) \% 7} = a^2 olduğuna görə, ilk iki amili vuraraq (a^3b^0)(a^6b^1) = (a^2b^1) alınır.

Beləliklə,

(a^3b^0)(a^6b^1)(a^1b^1) = (a^2b^1)(a^1b^1).

İfadəni yenidən yazaq:

(a^2b^1)(a^1b^1) = (a^2b^0)(ba)(a^0b^1) = (a^2b^0)(a^6b^1)(a^0b^1) = (a^8b^2) = (a^1b^0).

Deməli, iki elementin vurulması (a^3b^1) və (a^2b^1) belə alınır: (a^3b^1)(a^2b^1) = (a^1b^0).

Sizdən tələb olunur ki, verilmiş m, n və D_m,n diederal qrupundan iki element (a^j b^k) və (a^p b^q) üçün düzgün vurmanı hesablaya bilən proqram yazasınız.

Giriş

Giriş bir neçə testdən ibarətdir. Hər test bir neçə sətdən ibarətdir. Hər testin ilk sətri boşluqla ayrılmış problemID, m, n və p dəyərlərini ehtiva edir. m və n 1000-dən böyük deyil. p cari testdə vurmanın nümunələrinin sayını göstərir. Sonra p sətr gəlir, hər biri D_m,n-dən vurulması lazım olan iki elementi ehtiva edir. Hər element a3b1 şəklində veriləcək, a^3b^1 əvəzinə. Növbəti testin məlumatları əvvəlki testin dərhal ardınca gəlir. Əgər problemID "ZZ"-yə bərabərdirsə, bu, giriş məlumatlarının sonunu göstərir.

Çıxış

Hər vurma nümunəsi üçün aşağıdakı formada bir sətr çıxarın:

ProblemID id: ajbk * apbq = arbs

burada id girişdə verilmiş problemID-dir, ajbk və apbq vurulması lazım olan elementlərdir, arbs isə düzgün cavabdır.

Nümunələr

Nümunə 1

Loading
Loading