עבור מערך דו-ממדי של מספרים שלמים, נגדיר, מדרון (slope) מסדר num באורך k במערך להיות סדרה של k איברים, שכל אחד מהם סמוך לקודמו, כלומר, הוא אחד מארבעת שכניו במערך (ימין, שמאל, מלמעלה, מלמטה, אך לא באלכסון). כך שהערכים בתאים מהווים סדרה יורדת של מספרים שלמים שההפרש ביניהם הוא num.
n, n-num, n-(2*num), n-(3*num),..., n-((k-1)*num)
n, האיבר הראשון בסדרה, עשוי להיות כל מספר שלם. לדוגמה, במערך:
| 0 | 1 | 2 | 3 | 4 | |
| 0 | 3 | 13 | 15 | 28 | 30 |
| 1 | 55 | 54 | 53 | 27 | 26 |
| 2 | 54 | 12 | 52 | 51 | 50 |
| 3 | 50 | 10 | 8 | 53 | 11 |
עבור מדרון מסדר 2,
[3][2] מתחיל המדרון מסדר 2 באורך שלוש הבא: 8, 10, 12.עבור מדרון מסדר 1,
[0][3] מתחיל הסדרון מסדר 1 באורך שלוש הבא: 26, 27, 28.[1][0] מתחיל המדרון מסדר 1 באורך שש הבא: 50, 51, 52, 53, 54, 55.[2][4] מתחיל המדרון מסדר 1 באורך שתיים הבא: 54, 55.נתון מערך דו-ממדי mat מלא במספרים שלמים, ומספר שלם num, יש להחזיר את אורכו של המסדרון מטיפוס num הארוך ביותר במערך.
לדוגמה,
עבור המערך שלעיל, וערך num = 1 יוחזר הערך 6.
עבור המערך שלעיל, וערך num = 2 יוחזר הערך 3.
השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.
מותר לשנות את המערך במהלך השיטה, אבל חובה להחזיר אותו למצבו ההתחלתי בסופה.
mat = [[3, 13, 15, 28, 30], [55, 54, 53, 27, 26], [54, 12, 52, 51, 50], [50, 10, 8, 53, 11]], num = 1
6
הסבר: המסדרון הארוך ביותר במערך עם הפרש של 1 הוא באורך 6 (50, 51, 52, 53, 54, 55).
mat = [[3, 13, 15, 28, 30], [55, 54, 53, 27, 26], [54, 12, 52, 51, 50], [50, 10, 8, 53, 11]], num = 2
3
הסבר: המסדרון הארוך ביותר במערך עם הפרש של 2 הוא באורך 3 (8, 10, 12).
mat = [[5, 4, 3, 2, 1], [6, 7, 8, 9, 10], [15, 14, 13, 12, 11]], num = 1
15
mat = [[10, 20, 30], [40, 50, 60], [70, 80, 90]], num = 10
3
mat = [[5, 6, 7], [8, 9, 10]], num = 5
1
הסבר: אין מסדרון באורך יותר מ-1 שבו ההפרש בין איברים סמוכים הוא 5.
mat = [[100]], num = 1
1
הסבר: מערך בגודל 1x1 מכיל מסדרון באורך 1.
mat = [[20, 19, 18, 17, 16], [15, 14, 13, 12, 11], [10, 9, 8, 7, 6], [5, 4, 3, 2, 1]], num = 1
5
mat = [[50, 45, 40], [35, 30, 25], [20, 15, 10]], num = 5
3
קלט:
mat = [[3, 13, 15, 28, 30], [55, 54, 53, 27, 26], [54, 12, 52, 51, 50], [50, 10, 8, 53, 11]], num = 1
הפלט המבוקש:
6