Giải chuyên đề Tin 11 Cánh diều Bài 3. Thực hành kĩ thuật quay lui có đáp án
23 người thi tuần này 4.6 301 lượt thi 1 câu hỏi
🔥 Đề thi HOT:
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 1 có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Bên trong Máy tính có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 4 có đáp án
Đề thi giữa học kì 1 Tin học 11 Kết nối trí thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 3 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 2 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 5 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 6 có đáp án
Nội dung liên quan:
Danh sách câu hỏi:
Lời giải
#define MAX 20
using namespace std;
int n;
int Bool[MAX] = { 0 };//Đánh dấu chưa có phần tử nào sử dụng hết
int A[MAX];//Lưu hoán vị vào mảng A
void xuat() {
for (int i = 1; i <= n; i++)
cout << A[i] << " ";
cout << endl;
}
void Try(int k) {
for (int i = 1; i <= n; i++) {
//Kiểm tra nếu phần tử chưa được chọn thì sẽ đánh dấu
if (!Bool[i]) {
A[k] = i; // Lưu một phần tử vào hoán vị
Bool[i] = 1;//Đánh dấu đã dùng
if (k == n)//Kiểm tra nếu đã chứa một hoán vị thì xuất
xuat();
else
Try(k + 1);
Bool[i] = 0;
}
}
}
int main() {
cout << "Mhap n: ";
cin >> n;
Try(1);
}