Xoca ilə eşşək cədvəlin hansısa xanasında görüşürlər. Görüş üsulu üç komponentlə müəyyən olunur: görüş xanası, Xocanın xanasından bu xanaya qədər olan marşrutu və eşşəyin xanasından bu xanaya qədər olan marşrutu. Buna görə də hər bir xana üçün Xocanın və eşşəyin həmin xanaya aparan marşrutlarının sayını hesablayırıq.
Tutaq ki, Xocanın xanasından xanasına qədər gedə biləcəyi yolların sayıdır. Xoca yalnız sağa və ya aşağıya hərəkət edir, buna görə də xanasına ya onun üstündəki (i - 1, j) xanasından, ya da solundakı (i, j - 1) xanasından daxil olur:
Cədvəldən kənar xanalar əlçatmazdır; onlara gedən yolların sayı sıfır hesab olunur.
Eyni qaydada, tutaq ki, eşşəyin xanasından xanasına qədər gedə biləcəyi yolların sayıdır. Eşşək yalnız sola və ya yuxarıya hərəkət edir, buna görə də xanasına ya onun altındakı (i + 1, j) xanasından, ya da sağındakı (i, j + 1) xanasından daxil olur:
Xocanın və eşşəyin marşrutları bir-birindən asılı olmayaraq seçilir. Buna görə də vurma qaydasına əsasən, xanasında görüşmə üsullarının sayı a[i][j] \cdot b[i][j]-ə bərabərdir. Müxtəlif xanalarda görüşlər müxtəlif üsullardır, buna görə də toplama qaydasına əsasən, cavab bu hasillərin cədvəlin bütün xanaları üzrə cəminə bərabərdir.
Qalır ki, bu cəmi moduluna görə hesablayaq:
Nümunə
n = 3 üçün və massivlərini quraq. massivi yuxarıdan aşağıya və soldan sağa dolur. massivi isə əks qaydada, b[3][3] = 1-dən başlayaraq dolur. Üçüncü cədvəldə a[i][j] \cdot b[i][j] hasilləri verilmişdir.
Məsələn, Xoca mərkəzi xanasına iki üsulla çata bilər (a[2][2] = 2), eşşək də eyni qaydada (b[2][2] = 2). Buna görə də onlar bu xanada 2 \cdot 2 = 4 üsulla görüşə bilərlər.
Xoca əvvəlcə yuxarı sol xanadadır (a[1][1] = 1), eşşək isə ora altı üsulla çata bilər (b[1][1] = 6), bu da üsul verir.
Hasilləri bütün xanalar üzrə cəmləyərək, cavabı alırıq:
Alqoritmin reallaşdırılması
İşçi massivləri elan edək:
— Xocanın xanasından xanasına qədər olan yollarının sayı,
— eşşəyin xanasından xanasına qədər olan yollarının sayı.
Bütün qiymətlər MOD = 9929 moduluna görə saxlanılır. Massivlərin ölçüsü MAX = 55-dir.
#define MAX 55
#define MOD 9929
int a[MAX][MAX], b[MAX][MAX];Cədvəlin ölçüsü -i oxuyaq. və massivlərini sıfırlarla dolduraq.
scanf("%d", \&n);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));massivinin qiymətlərini hesablayaq.
a[1][1] = 1;
for (i = 1; i \u003c= n; i++)
for (j = 1; j \u003c= n; j++)
a[i][j] = (a[i][j] + a[i - 1][j] + a[i][j - 1]) % MOD;massivinin qiymətlərini hesablayaq.
b[n][n] = 1;
for (i = n; i \u003e= 1; i--)
for (j = n; j \u003e= 1; j--)
b[i][j] = (b[i][j] + b[i + 1][j] + b[i][j + 1]) % MOD;dəyişənində a[i][j] \cdot b[i][j] hasillərinin cədvəlin bütün xanaları üzrə cəmini — Xoca ilə eşşəyin görüşə biləcəyi üsulların sayını hesablayaq.
res = 0;
for (i = 1; i \u003c= n; i++)
for (j = 1; j \u003c= n; j++)
res = (res + a[i][j] * b[i][j]) % MOD;Cavabı çap edək.
printf("%d\n", res);