NHIPHAN - Nhị phân
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: Ngapt

Cho tập hợp tất cả các xâu nhị phân có độ dài N được sắp xếp theo thứ tự từ điển. Ví dụ N = 3 ta có tập hợp: 000, 001, 010, 011, 100, 101, 110, 111.

Trong tập hợp trên, ta có:

  • Xâu nhị phân 100: ở vị trí số 5.
  • Vị trí số 7 trong tập là xâu nhị phân: 110.

Yêu cầu: Với một số N (N <= 63) cho trước, hãy cho biết:

  • Xâu nhị phân S (có độ dài N) nằm ở vị trí nào của tập.
  • Vị trí thứ K (1 <= K <= 1018) là xâu nhị phân nào?

Dữ liệu vào: Cho trong file NHIPHAN.INP:

  • Dòng đầu chứa một số nguyên N, là độ dài của các xâu nhị phân.
  • Dòng thứ hai chứa một xâu nhị phân S có độ dài bằng N.
  • Dòng thứ ba chứa một số nguyên K.

Dữ liệu ra: In ra file NHIPHAN.OUT:

  • Dòng đầu tiên chứa một số nguyên là vị trí của S trong tập hợp.
  • Dòng thứ hai ghi xâu nhị phân có N phần tử nằm ở vị trí thứ K.

Ví dụ

Inp:

3

100

7

Out:

5

110

Back to Top