Nếu chúng ta có một hành lang bao gồm hai gương song song thì sao?
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Bây giờ, chúng tôi chiếu tia laser xuống nó ...
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \|
| /|
| / |
Ôi nhìn kìa. Nó nảy lên, về cuối, ở đó.
Điều gì xảy ra nếu chúng ta vẽ hai tia laser NHƯNG đi theo hướng ngược lại?
| \ / |
| \ / |
| \/ |
| /\ |
| / \ |
| / \ |
| / \ |
|/ \|
|\ /|
| \ / |
Hmm, họ dường như không gặp nhau ở đó. Thật tiện lợi. Điều gì xảy ra nếu cả hai laser chiếm cùng một không gian?
| \ / |
| \ / |
| \ / |
| X |
| / \ |
| / \ |
| / \ |
| / \|
|/ /|
|\ / |
Tôi đoán đó là khá rõ ràng, phải không?
Vẽ các sơ đồ này bằng tay khá tốn công (hãy tin tôi vào điều này). Có lẽ một số mã có thể làm điều đó cho chúng ta?
- Viết một số mã để xuất ra hai gương song song, với hai tia laser nảy, giao nhau.
- Đầu vào (tất cả số nguyên):
- Chiều rộng của hành lang
- Chiều dài của hành lang
- Vị trí bắt đầu của laser đi phải (không có chỉ số, phải nhỏ hơn chiều rộng)
- Vị trí bắt đầu của laser đi bên trái (không có chỉ số, phải nhỏ hơn chiều rộng)
- Quá trình
- Nếu một tia laser đi đúng hướng, nó sẽ được vẽ một khoảng trắng ở bên phải trên dòng sau.
- Nếu một tia laser đi bên trái, nó sẽ được vẽ một khoảng trống ở bên trái trên dòng sau.
- Nếu tia laser không thể thực hiện bước đi ngang, nó sẽ thay đổi hướng của nó, nhưng không phải là vị trí của nó.
- Nếu cả hai laser đều ở cùng một chỉ mục, hãy in chữ X viết hoa ở chỉ mục đó.
- Đầu ra
- Một chuỗi có nhiều dòng
- Mỗi dòng bắt đầu và kết thúc bằng một ký tự ống (|)
- Tia laser bên phải được biểu thị bằng dấu gạch chéo ngược (\)
- Laser đi bên trái được biểu thị bằng một dấu gạch chéo (/)
- Giao điểm của hai laser được ký hiệu bằng chữ X viết hoa.
- Bất kỳ ngôn ngữ
- Tôi muốn xem các liên kết TIO
- Cố gắng sửa nó trong số byte nhỏ nhất
Các trường hợp thử nghiệm
chiều rộng: 6 chiều dài: 10 phải: 1 trái: 4
| \ / |
| \/ |
| /\ |
| / \ |
|/ \|
|\ /|
| \ / |
| \/ |
| /\ |
| / \ |
chiều rộng: 6 chiều dài: 10 phải: 0 trái: 1
|\/ |
|/\ |
|\ \ |
| \ \ |
| \ \ |
| \ \|
| \/|
| /\|
| / /|
| / / |
chiều rộng: 4 chiều dài: 10 phải: 2 trái: 0
|/ \ |
|\ \|
| \ /|
| X |
| / \|
|/ /|
|\ / |
| X |
|/ \ |
|\ \|
chiều rộng: 20 chiều dài: 5 phải: 5 trái: 15
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
chiều rộng: 5 chiều dài: 6 phải: 2 trái: 2
| X |
| / \ |
|/ \|
|\ /|
| \ / |
| X |
chiều rộng: 1 chiều dài: 2 phải: 0 trái: 0
|X|
|X|