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
20 người thi tuần này 4.6 279 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++ Bài 5: Khai báo biến có đáp án
15 câu Trắc nghiệm Tin học 11 C++ Bài 11: Kiểu mảng có đáp án
15 câu Trắc nghiệm Tin học 11 C++ Bài 8: Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình (Sử dụng IDE Code∷Blocks) có đáp án
14 câu Trắc nghiệm Tin học 11 C++ Bài 1: Khái niệm lập trình và ngôn ngữ lập trình có đáp án
15 câu Trắc nghiệm Tin học 11 C++ Bài 2: Các thành phần của ngôn ngữ lập trình có đáp án
10 câu Trắc nghiệm Tin học 11 Bài 12 (có đáp án): Kiểu xâu
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);
}