Lập lịch làm việc của y tá


Submit solution

Points: 1
Time limit: 10.0s
Memory limit: 500M

Author:
Problem type

Giám đốc của một bệnh viện muốn lên kế hoạch làm việc cho một y tá trong một khoảng thời gian gồm N ngày liên tiếp từ 1 đến N. Do chính sách của bệnh viện, mỗi y tá không thể làm việc tất cả các ngày từ 1 đến N. Thay vào đó, cần có những ngày nghỉ mà y tá cần nghỉ ngơi. Một kế hoạch làm việc là một chuỗi các khoảng thời gian làm việc không liên tục. Một khoảng thời gian làm việc của y tá được định nghĩa là một chuỗi các ngày liên tiếp mà y tá phải làm việc, và độ dài của khoảng thời gian làm việc là số ngày liên tiếp của khoảng thời gian đó. Bệnh viện đưa ra hai ràng buộc sau:

  • Mỗi y tá chỉ có thể nghỉ tối đa một ngày giữa hai khoảng thời gian làm việc liên tiếp. Điều này có nghĩa là nếu hôm nay y tá nghỉ, thì ngày mai y tá phải làm việc (1).
  • Độ dài của mỗi khoảng thời gian làm việc phải lớn hơn hoặc bằng K1 và nhỏ hơn hoặc bằng K2 (2).

Kế hoạch làm việc được biểu diễn bằng một chuỗi nhị phân (bit 1 nghĩa là ngày làm việc, và bit 0 nghĩa là ngày nghỉ).

Cho một số nguyên dương K, giám đốc của bệnh viện muốn biết kế hoạch làm việc thứ K theo thứ tự từ điển thỏa mãn các ràng buộc trên.

Dữ liệu vào

Dữ liệu vào bao gồm một dòng chứa 4 số nguyên dương N, K1, K2, K (\( N \leq 200, K1 \leq K2 \leq 70 \))

Dữ liệu ra

Dữ liệu ra gồm một dòng chứa chuỗi nhị phân mô tả kế hoạch làm việc thứ K thỏa mãn các ràng buộc trên. Nếu không có kế hoạch làm việc thứ K, in ra -1.

Ví dụ:

Input:

6 2 3

Ouput:

011011
110110
110111
111011

Comments

There are no comments at the moment.