#include <stdio.h>
int n;
bool used[123];
int a[123];
void show(){
int i;
for (i=1; i<=n; i++)
printf("%d ", a[i]);
printf("\n");
}
void back(int pos){
int i;
if (pos==n+1) { show() ; return ; }
for (i=1; i<=n; i++)
if (!used[i]){
a[pos]=i;
used[i]=true;
back(pos+1);
used[i]=false;
}
}
main(){
scanf("%d", &n);
back(1);
}
Đây là thuật toán Backtracking thầy e cho mẫu trên lớp nhưng em chưa hiểu chỗ return sau show().
Mong mọi người giúp đỡ. Em cảm ơn.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?