Hamımız rekursiyanı sevirik! Elə deyilmi?
Üç parametrli w(a, b, c) rekursiv funksiyasını nəzərdən keçirək:
Əgər a \leq 0 və ya b \leq 0 və ya c \leq 0 olarsa, w(a, b, c) qaytarır.
Əgər a > 20 və ya b > 20 və ya c > 20 olarsa, w(a, b, c) w(20, 20, 20) qaytarır.
Əgər a < b və b < c olarsa, w(a, b, c) w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c) qaytarır.
Əks halda, w(a, b, c) w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1) qaytarır.

Bu ən sadə implementasiyadır. Problem ondadır ki, əgər birbaşa həyata keçirilsə, hətta kiçik , və dəyərlərində belə (məsələn, a = 15, b = 15, c = 15 üçün), proqram rekurziyanın çoxluğuna görə saatlarla işləyə bilər.
Hər sətirdə üç tam ədəd , , verilir. Son sətirdə -1\ -1\ -1 yerləşir və bu işlənmir. Hər daxil olan üçlük üçün w(a, b, c) funksiyasının dəyərini hesablamaq tələb olunur.
Hər üçlük üçün w(a, b, c) dəyərini çap edin.
Nümunə 1