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
22 người thi tuần này 4.6 307 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 10 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 11 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 12 có đáp án
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 Kết nối tri thức Bài 13 có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Bài toán quản lý và cơ sở dữ liệu có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 9 có đáp án
15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27 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);
}