زیرمجموعه‌ها

برنامه‌ی زیر برای چاپ تمام زیرمجموعه‌های $k$ عضوی مجموعه‌ی $\{1, 2, \dots, n\}$ نوشته شده است.

تابع writeAllPermutations را با کمک توابع STL در ۵ خط عادی (بدون چپاندن!) تکمیل کنید.

دقت کنید که زیر مجموعه‌ها باید به‌ترتیب الفبایی (دیکشنری) مرتب چاپ بشوند و شما مجاز به تغییر جایی از کد به‌جز درون تابع نمی‌باشید.

#include <cstdio>
#include <algorithm>
 
int is[50];
int n, k;
 
void PrintAll() {
  for (int i=0; i<n; i++)
    if (is[i])
      printf("%d ", i+1);
  printf("\n");
}
 
void writeAllPermutations(int n, int k) {
  // implement this function
}
 
int main() {
  scanf("%d %d", &n, &k);
  writeAllPermutations(n, k);  
  return 0;
}