PDA

View Full Version : Hai người tình nguyện ở cây cầu hẹp



tranvtung
31-07-2010, 17:26
Bài này làm sao các bạn.
Có một cây cầu hẹp bắc qua một con sông. Cây cầu hẹp này chỉ đủ cho một xe đi qua, theo một chiều, vào một thời điểm. Nếu có hai xe ở hai phía đầu cầu cùng đi lên cầu một lúc thì giao thông trên cầu sẽ bị tắc. Do vậy, hàng ngày dân vùng đó mới cho hai người tình nguyện ra hai đầu cầu làm công việc điều khiển giao thông cho các xe qua cầu.

Hai người tình nguyện này có qui ước chung với nhau là :
- Các xe ở hai phía đầu cầu phải sắp hàng tuần tự để được qua cầu, và
- Luân phiên mỗi phía đầu cầu sẽ cho xe đi qua mỗi đợt là 5 chiếc.

Như vậy, người 1 sẽ cho 5 xe qua cầu rồi tạm ngưng. Sau khi người 2 thấy bên phía người 1 đã có 5 xe qua cầu thì người 2 sẽ cho 5 xe bên phía mình đi lên cầu, và sau đó người 2 cũng tạm ngưng cho xe lên cầu để đến lượt phía người 1 cho xe qua cầu.

Nếu một phía cầu không còn xe đợi lên cầu thì người tình nguyện ở phía đó phải ra hiệu báo cho người tình nguyện ở phía bên kia là có thể cho xe sang cầu không hạn chế. Nếu sau đó hai phía cầu lại có xe thì hai người phải báo hiệu cho nhau để điều khiển giao thông theo như qui ước ban đầu.

Yêu cầu viết chương trình mô phỏng hoạt động điều khiển giao thông của hai người tình nguyện.Được phép mở rộng, bổ sung thêm các yếu tố không được nêu ra trong đề bài.