My issue
Answer
My code
def generate_subsets(arr):
def backtrack(start, path):
# Append the current subset to the results
result.append(path)
for i in range(start, len(arr)):
# Recur with the next element included
backtrack(i + 1, path + [arr[i]])
result = []
backtrack(0, [])
return result
def print_subsets(subsets):
# Sort subsets: first by length, then lexicographically
subsets.sort(key=lambda x: (len(x), x))
for subset in subsets:
print(" ".join(map(str, subset)))
if __name__ == "__main__":
import sys
input = sys.stdin.read
data = input().strip().split()
N = int(data[0])
arr = list(map(int, data[1:]))
subsets = generate_subsets(arr)
print_subsets(subsets)
Learning course: Design and Analysis of Algorithms
Problem Link: https://www.codechef.com/learn/course/kl-daa/KLDAA2400I/problems/RECUR22