[DSA T6 2024]. TEST 8. QUAY LUI, NHÁNH CẬN

[Quay Lui - Nhánh Cận]. Bài 26. Binary string

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một ma trận nhị phân cỡ N x N, bạn xuất phát từ ô (1,1) và tìm đường đi tới ô (N, N). Ở mỗi bước đi bạn được phép đi theo 4 ước trên, dưới, trái, phải của ô hiện tại.

Mỗi lần đi qua một ô bạn sẽ nhặt số 0 hoặc 1 ở ô đó để ghép thành số nhị phân.

Có thể hiểu đơn giản là mỗi đường đi từ ô (1, 1) tới ô (N, N) sẽ tạo ra 1 số nhị phân tương ứng với đường đi đó.

Bạn hãy in ra đường đi có số nhị phân là lớn nhất (dạng thập phân tương ứng của nó là lớn nhất), biết rằng mỗi đường đi bạn chỉ được đi qua mỗi ô 1 lần. Lưu ý rằng các số nhị phân có thể có đường đi với số bit khác nhau.


Đầu vào

• Dòng 1 là số nguyên dương N

N dòng tiếp theo là ma trận


Giới hạn

• 1<=N<=6


Đầu ra

In ra đường đi tương ứng với số nhị phân lớn nhất.


Ví dụ :

Input 01
3
1 1 1 
1 0 0 
1 0 0
Output 01
111001100

[Quay Lui - Nhánh Cận]. Bài 27. N Queen 4

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho bàn cờ vua cỡ NxN, bạn hãy tìm cách đặt N con hậu vào bàn cờ này sao cho không có 2 con hậu ăn nhau.

Giả sử X1, X2, X3…XN là vị trí con hậu đặt ở hàng 1, 2, 3…N.

Bạn hãy liệt kê các cấu hình này theo thứ tự từ điển tăng dần.


Đầu vào

• Dòng duy nhất chứa N


Giới hạn

In ra các cách đặt thỏa mãn


Đầu ra

In ra các cách đặt thỏa mãn


Ví dụ :

Input 01
4
Output 01
2 4 1 3 
3 1 4 2

[Quay Lui - Nhánh Cận]. Bài 28. Partition

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một số nguyên dương N, bạn hãy liệt kê các cách phân tích N dưới dạng tổng của các số nguyên dương không vượt quá N.

Các cấu hình được liệt kê theo thứ tự từ điển tăng dần.


Đầu vào

• Dòng duy nhất chứa N


Giới hạn

• 1<=N<=16


Đầu ra

In ra các cách phân tích thỏa mãn


Ví dụ :

Input 01
4
Output 01
1 + 1 + 1 + 1
1 + 1 + 2
1 + 2 + 1
1 + 3
2 + 1 + 1
2 + 2
3 + 1
4

Easy money

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Hiện tại 28Tech đang có N đô la trong ngân hàng, anh ta sẽ cho bạn luôn số tiền này, thật sự rất hào phóng. Tuy nhiên bạn có thể tối đa số tiền bạn lấy về bằng cách hoán đổi 2 chữ số của N đúng 1 lần duy nhất, vậy thì bạn sẽ nhận được số tiền tối đa là bao nhiêu.

Ví dụ 28Tech có 9125 đô la trong ngân hàng thì bạn sẽ hoán đổi số 1 và 5 để có thể lấy về 9521 đô la


Đầu vào

Dòng 1 là N


Giới hạn

N là số nguyên không âm có không quá 1000 chữ số


Đầu ra

In ra số tiền tối đa mà bạn có thể lấy được từ 28Tech


Ví dụ :

Input 01
9125
Output 01
9521

Bộ ba tam giác

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

3 cạnh a, b, c có thể hình thành một tam giác nếu 3 cạnh này đều là số nguyên dương và thỏa mãn bất đẳng thức tam giác tức là tổng 2 cạnh luôn lớn hơn cạnh còn lại. Cho một mảng số nguyên A[] gồm N phần tử, bạn hãy xác định xem trong mảng A[] có bao nhiêu bộ số A[i], A[j], A[k] có thể tạo thành 3 cạnh của một tam giác.

Ví dụ A[] = [1, 6, 7, 9, 2] thì có thể tạo thành các bộ 3 số (6, 7, 9), (2, 6, 7)

Gợi ý : Sort mảng tăng dần, khi đó sẽ xét từ cuối mảng về gọi là A[i] và coi A[i] là số lớn nhất trong bộ 3 số, dùng 2 biến left = 0, right = i - 1 để xét 2 số còn lại. Nếu A[left] + A[right] > A[i] thì tất cả những số từ left + 1 tới right - 1 có thể kết hợp với left, right, I để tạo thành bộ 3 thỏa mãn. Khi đó có thể giảm right đi để lựa bộ khác, nếu A[left] + A[right] <= A[i] thì bắt buộc phải tăng left lên để tổng của 2 số còn lại lớn hơn.


Đầu vào

Dòng 1 là N : số lượng phần tử trong mảng A[]

Dòng 2 là các phần tử trong mảng A[]


Giới hạn

1<=N<=10^4

-10^3<=A[i]<=10^3


Đầu ra

In ra số bộ 3 thỏa mãn


Ví dụ :

Input 01
5
1 6 7 9 2
Output 01
2