Tôi đang nhìn ra ngoài cửa sổ gác mái của tôi vào sân của hàng xóm. Họ có một con chó bị xích vào một cột ở giữa sân. Con chó chạy quanh sân nhưng luôn ở cuối chuỗi, vì vậy cuối cùng nó để lại dấu vết trong bụi bẩn. Thông thường bản nhạc này sẽ có hình tròn hoàn hảo, nhưng hàng xóm của tôi có một số cực khác trong sân của họ mà chuỗi của con chó bị bắt. Mỗi khi chuỗi chó chạm vào một cây cột, con chó bắt đầu xoay quanh cây cột mới với bất kỳ chiều dài chuỗi nào còn lại là bán kính của nó. Kể từ khi cực, con chó và chuỗi đều có chiều rộng bằng không (hàng xóm của tôi là nhà toán học), chuỗi có thể quấn quanh một cây cột vô thời hạn mà không cần bán kính rút ngắn vòng tròn. Con chó cũng có thể đi qua chuỗi (chỉ không phải cổ của nó) nếu chuỗi nằm trong đường đi của nó. Sau khi quan sát sự kỳ lạ này một lúc, tôi quyết định tôi sẽ viết một số mã để mô phỏng con chó của hàng xóm. Mã sẽ lấy các vị trí của một cột trung tâm, mà con chó bị xích, vị trí của các cực khác trong sân nhà hàng xóm của tôi, chiều dài của chuỗi và vị trí bắt đầu của con chó, và sẽ đưa ra một sơ đồ chỉ ra con đường nơi con chó đã mòn cỏ. Bạn có thể cho rằng bất kỳ sự kết hợp nào sau đây là không đổi (và do đó không lấy chúng làm đầu vào):
Vị trí của cột mà con chó bị xích
Chiều dài của chuỗi
Vị trí bắt đầu của con chó
Mặt trời đang lên, vì vậy không gian trên sàn gác mái của tôi được chiếu sáng bởi cửa sổ đang bị thu hẹp lại, khiến tôi ngày càng có ít không gian để viết mã. Vui lòng cố gắng giảm thiểu số byte của mã của bạn để tôi có không gian để phác thảo nó trên sàn gác mái của tôi.
Các trường hợp thử nghiệm
Ở đây tôi giả sử rằng con chó bắt đầu 3 đơn vị phía nam từ cực mà nó bị xích (chấm đỏ), nằm ở 0,0
. Tôi đã chỉ ra nơi các cực có dấu chấm cho rõ ràng, bạn không cần đưa chúng vào đầu ra của bạn.
Poles at 1,2 -1,2
Poles at 0,.5
Poles at 0,1 1,1 -2,1 -1,-.5
Poles at 0,1 1,1
{0,.5}
lật theo chiều dọc mà không có vòng tròn lớn nhất. Con chó về cơ bản bắt đầu bắt trên cực thứ hai.
{0,-.5}
gì?