זוג סוגריים

בשאלה זו נתייחס לביטויים שמכילים סוגריים ימניים ושמאליים בלבד.
סוגר שמאלי הוא התו '(' וסוגר ימני הוא התו ')'. זוג סוגריים מכיל סוגר שמאלי אחד וסוגר ימני אחד.
נגדיר ביטוי המכיל סוגריים כחוקי, אם מספר הסוגרים השמאליים שווה למספר הסוגרים הימניים, ובכל רישא של הביטוי, מספר הסוגרים הימניים שלו אינו גדול ממספר הסוגרים השמאליים שלו. (רישא הינו חלק של הביטוי שמופיע ברצף מהתחלת הביטוי ועד למיקום כלשהו בביטוי).
יש להדפיס את כל הביטויים החוקיים המכילים num זוגות סוגריים ולהחזיר את מספרם.

השיטה צריכה להיות רקורסיבית ללא שימוש בלולאות כלל. כך גם כל שיטות העזר (אם תכתבו) לא יכולות להכיל לולאות.

אילוצים:
  • יש להחזיר את מספר הביטויים החוקיים וגם להדפיס את כל הביטויים.
דוגמה 1:
קלט:
num = 3
פלט:
((()))
(()())
(())()
()(())
()()()
5

הסבר: מדפיסים את הביטויים החוקיים ומחזירים את מספר הביטויים החוקיים.

דוגמה 2:
קלט:
num = 4
פלט:
(((())))
((()()))
((())())
((()))()
(()(()))
(()()())
(()())()
(())(())
(())()()
()((()))
()(()())
()(())()
()()(())
()()()()
14

הסבר: מדפיסים את הביטויים החוקיים ומחזירים את מספר הביטויים החוקיים.

Loading...
נשמרLn 1, Col 1

קלט:

num = 3

הפלט המבוקש:

((()))
(()())
(())()
()(())
()()()
5