Dữ liệu vào cho bởi file dayso.in theo khuôn dạng sau: Dòng đầu tiên ghi lại số tự nhiên N là số các số của dãy số A[] và số tự nhiên K, hai số được viết cách nhau bởi một vài khoảng t
Trang 11 Viết các phần tử của mảng a[] = {-1, 10, -7, 5, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 2n c x x
x x f
1 2
n D a x b x x
x x X
1 2
1 , , , ; 0 , 1 , ci, ai, b là các số nguyên dương,
n 100
Dữ liệu vào n, cj, aj, b được cho trong file data.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại số tự nhiên n và b Hai số được ghi cách nhau bởi một vài ký tự
Dòng đầu tiên in ra giá trị tối ưu f(x1,x2, ,xn);
Dòng kế tiếp in ra phương án tối ưu X = (x1, x2, ,xn) Hai phần tử khác nhau của X được
ghi cách nhau bởi một vài khoảng trống
Trang 31 Viết các phần tử của mảng a[] = {15, -10, -7, -5, 21} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, 51,
15, -5, -2, 2, 8, 11, 10, 30 khi thực hiện phép duyệt cây theo thứ tự sau:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, 51,
15, -5, -2, 2, 8, 11, 10, 30 khi thực hiện phép duyệt cây theo thứ tự giữa:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, 51,
15, -5, -2, 2, 8, 11, 10, 30 khi thực hiện phép duyệt cây theo thứ tự trước:
Trang 4Phần 2 (Lập trình)
Cho dãy A[] gồm N số tự nhiên khác nhau và số tự nhiên K Hãy viết chương trình liệt kê tất
cả các dãy con của dãy số A[] sao cho tổng các phần tử trong dãy con đó đúng bằng K Dữ liệu vào cho bởi file dayso.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại số tự nhiên N là số các số của dãy số A[] và số tự nhiên K, hai số được viết cách nhau bởi một vài khoảng trống;
Dòng kế tiếp ghi lại N số của dãy số A[], hai số được viết cách nhau một vài khoảng trống
Các dãy con thoả mãn điều kiện tìm được ghi ra màn hình theo khuôn dạng sau:
Mỗi dòng in ra một dãy con Hai phần tử khác nhau của dãy con được viết cách nhau bởi một vài khoảng trống
Dòng cuối cùng in ra số các dãy con có tổng các phần tử đúng bằng K tìm được;
Trang 51 Viết các phần tử của mảng a[] = {1, -10, -7, 5, -15} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp nổi bọt để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, -10,
15, 5, -2, 25, 8, 18, 10, 3 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, -10,
15, 5, -2, 25, 8, 18, 10, 3 khi thực hiện phép duyệt cây theo thứ tự sau:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, -10,
15, 5, -2, 25, 8, 18, 10, 3 khi thực hiện phép duyệt cây theo thứ tự trước:
Trang 6x x x D
1 2
1 , , , : , 0 , 1 , 1 , 2 , , ;
Dữ liệu vào cho bởi file data.in theo khuôn dạng như sau:
Dòng đầu tiên ghi lại hai số tự nhiên n và B Hai số được viết cách nhau bởi một vài khoảng trống
Dòng kế tiếp ghi lại n số nguyên dương a1, a2, ,an Hai số khác nhau được viết cách
nhau bởi một vài kí tự trống
Kết quả ghi ra màn hình theo khuôn dạng sau:
Mỗi dòng in ra một vector nhị phân x = (x1, x2 , , xn) là phần tử của D Hai thành phần khác nhau của vector x được viết cách nhau bởi một vài khoảng trống
Dòng cuối cùng in ra số tự nhiên k là số phần tử của tập D
Trang 71 Viết các phần tử của mảng a[] = {-1, 10, -7, -5, -15} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp nổi bọt để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 17,
15, -5, -2, 25, 8, 1, 10, -30 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 17,
15, -5, -2, 25, 8, 1, 10, -30 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 17,
15, -5, -2, 25, 8, 1, 10, -30 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 91 Viết các phần tử của mảng a[] = {-1, 0, -7, 5, 10} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 0,
15, -5, -2, 5, 8, 1, 10, 31 khi thực hiện phép duyệt cây theo thứ tự trước:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 0,
15, -5, -2, 5, 8, 1, 10, 31 khi thực hiện phép duyệt cây theo thứ tự sau:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 0,
15, -5, -2, 5, 8, 1, 10, 31 khi thực hiện phép duyệt cây theo thứ tự giữa:
Trang 10Phần 2 (Lập trình)
Cho file dữ liệu hauto.in gồm một dòng ghi lại một biểu thức hau tố bao gồm các toán hạng là các số tự nhiên không vượt quá 103, toán tử là các phép toán +, -, *, / và ^
Hãy sử dụng cấu trúc dữ liệu kiểu ngăn xếp viết chương trình tính giá trị biểu thức hậu
tố trong file hauto.in Giá trị của biểu thức hậu tố tìm được được ghi ra màn hình
Trang 111 Viết các phần tử của mảng a[] = {-1, 10, -7, 5, 5} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 1,
15, -5, -2, 25, 8, 31, 10, 13 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 1,
15, -5, -2, 25, 8, 31, 10, 13 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 2, 1,
15, -5, -2, 25, 8, 31, 10, 13 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 12Phần 2 (Lập trình)
Cho dãy gồm N số nguyên A[] = {a 1 , a 2 , , a N } và số tự nhiên K ( KN100) Hãy viết chương trình liệt kê tất cả các dãy con K phần tử giảm của dãy số A[]
Dữ liệu vào cho bởi file dayso.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại hai số tự nhiên N, K Hai số được viết cách nhau một vài khoảng trống;
Những dòng kế tiếp ghi lại N số nguyên của dãy số A[], hai số khác nhau được viết cách nhau một vài khoảng trống
Các dãy con K phần tử giảm dần của dãy số A[] tìm được ghi ra màn hình theo khuôn dạng:
Mỗi dòng in ra một dãy con Hai phần tử khác nhau của dãy con được viết cách nhau bởi một vài khoảng trống
Dòng cuối in ra số tự nhiên M là số các dãy con K phần tử giảm của dãy số A[] tìm được;
Trang 131 Viết các phần tử của mảng a[] = {-12, 10, -7, 5, 17} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự trước:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự giữa:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 14n c x x
x x f
1 2
n D a x b x x
x x X
1 2
1 , , , ; 0 , 1 , ci, ai, là các số nguyên, n, b là các số tự nhiên, n 100
Dữ liệu vào n, cj, aj, b được cho trong file data.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại số tự nhiên n và b Hai số được ghi cách nhau bởi một vài ký tự
Dòng đầu tiên in ra giá trị nhỏ nhất f(x1,x2, ,xn);
Dòng kế tiếp in ra phương án tối ưu tương ứng X = (x1, x2, ,xn) Hai phần tử khác nhau của X được ghi cách nhau bởi một vài khoảng trống
Trang 151 Viết các phần tử của mảng a[] = {-2, 10, -7, 25, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 10,
15, -5, -2, 25, 8, 1, -10, 50 khi thực hiện phép duyệt cây theo thứ tự sau:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 10,
15, -5, -2, 25, 8, 1, -10, 50 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -1, 10,
15, -5, -2, 25, 8, 1, -10, 50 khi thực hiện phép duyệt cây theo thứ tự giữa:
Trang 16Phần 2 (Lập trình)
Cho dãy gồm N số nguyên A[] = {a 1 , a 2 , , a N } và số tự nhiên K ( KN100) Hãy viết chương trình liệt kê tất cả các dãy con K phần tử tăng của dãy số A[]
Dữ liệu vào cho bởi file dayso.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại hai số tự nhiên N, K Hai số được viết cách nhau một vài khoảng trống;
Những dòng kế tiếp ghi lại N số nguyên của dãy số A[], hai số khác nhau được viết cách nhau một vài khoảng trống
Các dãy con K phần tử tăng dần của dãy số A[] tìm được ghi ra màn hình theo khuôn dạng:
Mỗi dòng in ra một dãy con Hai phần tử khác nhau của dãy con được viết cách nhau bởi một vài khoảng trống
Dòng cuối in ra số tự nhiên M là số các dãy con K phần tử tăng dần của dãy số A[] tìm được;
Trang 171 Viết các phần tử của mảng a[] = {-1, 10, -7, 5, -1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên -21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 18Phần 2 (Lập trình)
Cho đồ thị vô hướng G =<V, E> gồm N đỉnh và M cạnh được biểu diễn dưới dạng danh
sách kề trong file dske.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại số tự nhiên N là số đỉnh của đồ thị;
N dòng kế tiếp mỗi dòng ghi lại danh sách kề của đỉnh tương ứng Hai đỉnh trong cùng một danh sách kề được phân biệt với nhau bằng một hoặc vài kí tự trống, đỉnh không có cạnh nối với nó (đỉnh cô lập) được ghi giá trị 0
Hãy viết chương trình chuyển đổi biểu diễn đồ thị G dưới dạng danh sách kề thành biểu diễn của đồ thị G dưới dạng ma trận kề và danh sách cạnh Khuôn dạng biểu diễn đồ thị G dưới dạng ma trận kề, danh sách kề được ghi lại trong file mtke.out và dscanh.out theo khuôn dạng sau:
Khuôn dạng file mtke.out:
Dòng đầu tiên ghi lại số tự nhiên n là số đỉnh của đồ thị;
N dòng kế tiếp ghi lại ma trận kề của đồ thị, hai phần tử khác nhau của ma trận kề được ghi cách nhau bởi một vài ký tự trống
Khuôn dạng file dscanh.out
Dòng đầu tiên ghi lại số tự nhiên N và M tương ứng với số đỉnh và số cạnh của đồ thị, hai số được ghi cách nhau bởi một vài ký tự trống;
M dòng kế tiếp mỗi dòng ghi lại một cạnh của đồ thị, đỉnh đầu và đỉnh cuối của mỗi cạnh được ghi cách nhau bởi một vài ký tự trống
Ví dụ đồ thị gồm 5 đỉnh, 4 cạnh được biểu diễn trong file dske.in như dưới đây sẽ cho ta các file mtke.out và dscanh.out tương ứng
dske.in mtke.out dscanh.out
Trang 191 Viết các phần tử của mảng a[] = {-1, 10, 7, 5, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 17,
10, -15, -5, -2, 25, 8, 1, 15, -33 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 17,
10, -15, -5, -2, 25, 8, 1, 15, -33 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 17, 10, -15, -5, -2, 25, 8, 1, 15, -33 khi thực hiện phép duyệt cây theo thứ tự sau:
Trang 20Phần 2 (Lập trình)
Cho đồ thị có hướng G =<V,E> gồm N đỉnh và M cạnh được biểu diễn dưới dạng danh
sách kề trong file mtke.in theo khuôn dạng sau:
Dòng đầu tiên ghi lại số tự nhiên N là số đỉnh của đồ thị;
N dòng kế tiếp mỗi dòng chứa N số 0 hoặc 1 tương ứng một hàng của ma trận kề Hai
số trên cùng 1 hàng được phân biệt với nhau bằng một hoặc vài kí tự trống
Hãy viết chương trình chuyển đổi biểu diễn đồ thị G dưới dạng ma trận kề thành biểu diễn của đồ thị G dưới dạng danh sách kề và danh sách cạnh Khuôn dạng biểu diễn đồ thị G dưới dạng danh sách kề và danh sách cạnh được ghi lại trong file dske.out và dscanh.out theo khuôn dạng sau:
Khuôn dạng file dske.out:
Dòng đầu tiên ghi lại số tự nhiên N là số đỉnh của đồ thị;
N dòng kế tiếp, mỗi dòng ghi lại danh sách kề của đỉnh tương ứng Hai đỉnh trong cùng một danh sách kề được phân biệt với nhau bằng một hoặc vài kí tự trống, đỉnh không có cạnh nối với nó (đỉnh cô lập) được ghi giá trị 0
Khuôn dạng file dscanh.out
Dòng đầu tiên ghi lại số tự nhiên N và M tương ứng với số đỉnh và số cạnh của đồ thị, hai số được ghi cách nhau bởi một vài ký tự trống;
M dòng kế tiếp mỗi dòng ghi lại một cạnh của đồ thị, đỉnh đầu và đỉnh cuối của mỗi cạnh được ghi cách nhau bởi một vài ký tự trống
Ví dụ đồ thị gồm 5 đỉnh, 4 cạnh được biểu diễn trong file mtke.in như dưới đây sẽ cho ta các file dske.out và dscanh.out tương ứng
mtke.in dske.out dscanh.out
Trang 211 Viết các phần tử của mảng a[] = {0, 12, -7, -5, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, -10,
15, -5, -2, 25, 8, 12, 10, 0 khi thực hiện phép duyệt cây theo thứ tự sau:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, -10,
15, -5, -2, 25, 8, 12, 10, 0 khi thực hiện phép duyệt cây theo thứ tự trước:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 1, -10,
15, -5, -2, 25, 8, 12, 10, 0 khi thực hiện phép duyệt cây theo thứ tự giữa:
Trang 22Phần 2 (Lập trình)
Cho đồ thị có hướng G = <V,E> gồm N đỉnh được biểu diễn dưới dạng ma trận kề trong file dothi.in theo khuôn dạng sau:
Dòng đầu tiên ghi số tự nhiên N tương ứng với số đỉnh của đồ thị;
N dòng kế tiếp ghi lại ma trận kề của đồ thị, hai phần tử khác nhau của ma trận kề được viết cách nhau một vài khoảng trống
Hãy viết chương trình kiểm tra G có phải là đồ thị nửa Euler hay không? Nếu G là đồ thị nửa Euler hãy xây dựng một đường đi Euler của đồ thị, ngược lại đưa ra thông báo “G không là đồ thị nửa Euler”? Các kết quả xuất ra màn hình
Ví dụ với đồ thị dưới đây sẽ cho ta đường đi Euler : 2 - 3 - 4 - 1 - 2 – 4:
Trang 231 Viết các phần tử của mảng a[] = {-10, 10, -7, 5, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự tăng:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự trước:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự sau:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -10, 30 khi thực hiện phép duyệt cây theo thứ tự giữa:
Trang 24Phần 2 (Lập trình)
Cho đồ thị vô hướng G = <V,E> gồm N đỉnh được biểu diễn dưới dạng ma trận kề trong file dothi.in theo khuôn dạng sau:
Dòng đầu tiên ghi số tự nhiên N tương ứng với số đỉnh của đồ thị;
N dòng kế tiếp ghi lại ma trận kề của đồ thị, hai phần tử khác nhau của ma trận kề được viết cách nhau một vài khoảng trống
Hãy viết chương trình kiểm tra G có phải là đồ thị nửa Euler hay không? Nếu G là đồ thị nửa Euler hãy xây dựng một đường đi Euler của đồ thị, ngược lại đưa ra thông báo “G không là đồ thị nửa Euler”? Các kết quả xuất ra màn hình
Ví dụ với đồ thị dưới đây sẽ cho ta đường đi Euler : 2 - 1 - 3 - 2 - 4 - 3
Trang 251 Viết các phần tử của mảng a[] = {-1, 10, -7, 5, 1} tại mỗi giai đoạn i khi áp dụng thuật toán sắp xếp lựa chọn để sắp xếp a theo thứ tự giảm:
4 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -4, -30 khi thực hiện phép duyệt cây theo thứ tự giữa:
5 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -4, -30 khi thực hiện phép duyệt cây theo thứ tự sau:
6 Viết các phần tử của cây nhị phân AVL được tạo từ các nút có khóa là các số nguyên 21,
10, 15, -5, -2, 25, 8, 1, -4, -30 khi thực hiện phép duyệt cây theo thứ tự trước: