Xâu Nhị Phân Kế Tiếp

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

Point: 1

Cho một xâu nhị phân X có độ dài N. Hãy tìm xâu nhị phân kế tiếp của X trong thứ tự từ điển (từ điển tăng dần). Nếu X là xâu cuối cùng (toàn bit 1), hãy in ra xâu nhị phân đầu tiên (toàn bit 0).

Dữ liệu vào:

Dòng đầu tiên chứa số nguyên T là số lượng bộ test.

Mỗi bộ test gồm một xâu nhị phân X.

Dữ liệu ra:

In ra xâu nhị phân kế tiếp tương ứng với mỗi bộ test.

Giới hạn:

1 <= T <= 20

Độ dài xâu X <= 1000

Ví dụ:

Input:
2 
010101 
111111
Output:
010110 
000000

Tập Con Kế Tiếp

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

Point: 1

Cho một tập con K phần tử của tập {1, 2, ..., N}. Hãy tìm tập con kế tiếp của nó theo thứ tự từ điển. Nếu tập con đã cho là tập cuối cùng, in ra tập con đầu tiên (tập {1, 2, ..., K}).

Dữ liệu vào:

Dòng đầu tiên chứa số bộ test T.

Mỗi bộ test gồm 2 số N, K và dòng tiếp theo là K số của tập con hiện tại.

Dữ liệu ra:

In ra tập con kế tiếp.

Giới hạn:

1 <= K <= N <= 1000

Ví dụ:

Input:
2 
5 3
1 4 5 
5 3 
3 4 5
Output:
2 3 4 
1 2 3

Xâu Nhị Phân K Bit

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

Point: 1

Liệt kê các xâu nhị phân độ dài N có đúng K bit 1 theo thứ tự từ điển.

Dữ liệu vào:

Số bộ test T, mỗi bộ test gồm N và K.

Dữ liệu ra:

Các xâu thỏa mãn.

Giới hạn:

1 <= K <= N <= 15

Ví dụ:

Input:
1 
4 2
Output:
0011 
0101 
0110 
1001 
1010 
1100

Liệt Kê Xâu Nhị Phân

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

Point: 1

Liệt kê tất cả các xâu nhị phân có độ dài N theo thứ tự từ điển tăng dần.

Dữ liệu vào:

Số nguyên dương N.

Dữ liệu ra:

Các xâu nhị phân độ dài N, mỗi xâu trên một dòng.

Giới hạn:

1 <= N <= 20

Ví dụ:

Input:
2
Output:
00 
01 
10 
11

Liệt Kê Tổ Hợp

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

Point: 1

Liệt kê tất cả các tổ hợp chập K của N phần tử {1, 2, ..., N}.

Dữ liệu vào:

Hai số nguyên N và K.

Dữ liệu ra:

Các tổ hợp thỏa mãn theo thứ tự từ điển.

Giới hạn:

1 <= K <= N <= 15

Ví dụ:

Input:
4 2
Output:
1 2 
1 3 
1 4 
2 3 
2 4 
3 4

Xâu AB

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

Point: 1

Liệt kê các xâu độ dài N chỉ gồm ký tự 'A' và 'B' sao cho có đúng K ký tự 'A'.

Dữ liệu vào:

Số nguyên N và K.

Dữ liệu ra:

Các xâu thỏa mãn.

Giới hạn:

1 <= K <= N <= 15

Ví dụ:

Input:
3 2
Output:
AAB ABA BAA

Xâu Nhị Phân Trước

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

Point: 1

Cho một xâu nhị phân X. Tìm xâu nhị phân xuất hiện ngay trước X trong thứ tự từ điển. Nếu X là xâu nhỏ nhất (toàn 0), in ra xâu toàn 1.

Dữ liệu vào:

Xâu X.

Dữ liệu ra:

Xâu nhị phân liền trước.

Giới hạn:

Độ dài X <= 1000

Ví dụ:

Input:
10100
Output:
10011

Thuận Nghịch Nhị Phân

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

Point: 1

Liệt kê các xâu nhị phân thuận nghịch (đọc xuôi ngược giống nhau) có độ dài N. (Gợi ý: Chỉ cần sinh một nửa đầu rồi lấy đối xứng).

Dữ liệu vào:

Số nguyên N (chẵn).

Dữ liệu ra:

Các xâu thuận nghịch.

Giới hạn:

2 <= N <= 20

Ví dụ:

Input:
4
Output:
0000 
0110 
1001 
1111

Số Lộc Phát (thuật toán sinh)

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

Point: 1

Số Lộc Phát là số chỉ bao gồm các chữ số 6 và 8. Hãy liệt kê các số Lộc Phát có độ dài bằng N theo thứ tự tăng dần.

Dữ liệu vào:

Số nguyên N.

Dữ liệu ra:

Các số Lộc Phát.

Giới hạn:

1 <= N <= 15

Ví dụ:

Input:
2
Output:
66 
68 
86 
88

Tập Con Trước

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

Point: 1

Cho một tổ hợp chập K của N. Tìm tổ hợp ngay trước nó. Nếu là tổ hợp đầu tiên, in ra tổ hợp cuối cùng.

Dữ liệu vào:

N, K và cấu hình hiện tại.

Dữ liệu ra:

Cấu hình liền trước.

Giới hạn:

1 <= K <= N <= 1000

Ví dụ:

Input:
5 3 
2 3 4
Output:
1 4 5

Ghép Tên

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

Point: 1

Cho N chữ cái in hoa khác nhau. Hãy liệt kê các tổ hợp chập K của các chữ cái này theo thứ tự từ điển.

Dữ liệu vào:

N và K.

Dòng sau chứa N chữ cái (có thể chưa sắp xếp).

Dữ liệu ra:

Các tổ hợp tên.

Giới hạn:

1 <= K <= N <= 15

Ví dụ:

Input:
4 2 
D C A B
Output:
A B 
A C 
A D 
B C 
B D 
C D