6-Laboratoriya ishi Mavzu: Dinamik programmalash
Download 92,17 Kb.
|
6-tajriba. Algoritm loyihalash
- Bu sahifa navigatsiya:
- Yechimi: Dinamika holati
- Qayta hisoblash formulasi
- Qayta hisblash formulasi: To’g’ri tartib uchun
1-masala: SMS lar soni
Masala sharti: Knopkali telefonlarda klaviaturasi quyidagicha bo’ladi. Masalan C harfini terish uchun 2-tugmani 3 marta bosish kerak. Ko’pi bilan k marta knopka bosish orqali nechta har xil SMS yozish mumkinligi sonini aniqlash talab qilinadi. Yechimi:
dp[m] = (dp[m-1]+dp [m-2]+dp [m-3]) * 8 + dp [m-4] * 2.
2-masala. Ot Masala sharti: NxM shaxmat doskasining (1,1) katagida ot turibdi. Uning quyidagi rasmda ko’rsatilgandek 4 xil tipli yurish orqali (N, M) katakga necha xil usulda boorish mumkinligini aniqlang. Yechimi:
To’g’ri tartib uchun dp[i][j] = dp[i - 2][j - 1] + dp[i - 2][j + 1] + dp[i - 1][j - 2] + dp[i + 1][j - 2] Teskari tartib uchun dp[i + 1][j + 2] += dp[i][j] dp[i + 2][j + 1] += dp[i][j] dp[i - 1][j + 2] += dp[i][j] dp[i + 2][j - 1] += dp[i][j]
Bu masalani yechishning ikki hil variant bor:
Agar erinchoq dinamikadan foydalansak bu eng yaxshi usul hisoblanadi. Uning o’zin hisoblahni hal qiladi. Agar qandaydir tartibda ko’rib chiqmoqchi bo’lsak uni masalanan quyidagi tartibda ko’rib chiqish kerak, diagonal tartibda: Bunday tartibda o’tib chiqish to’g’ri tartibda ham teskari tartibda ham to’g’ri bo’ladi.
Download 92,17 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling