Dựa vào nghệ thuật ASCII của hai vectơ, tìm độ lớn và mức độ của vectơ kết quả.
Đầu vào
Điều này có thể được nhận qua STDIN, đọc từ tệp cục bộ hoặc được cung cấp thông qua lệnh gọi hàm. Dưới đây là một ví dụ về đầu vào hai vectơ:
^------>
|
|
|
x
Điều này thể hiện sự thay đổi của 4 đơn vị phía bắc và 7 đơn vị phía đông. Mỗi điểm bắt đầu của đầu vào sẽ được biểu thị bằng một x
(thập phân 120
).
Tất cả các vectơ là các đường ngang hoặc dọc.
Mỗi vectơ có một trong bốn điểm cuối sau:
^v<>
và được tạo thành từ một dấu gạch ngang (-
, số thập phân 45) hoặc thanh dọc (|
, số thập phân 124).Các điểm trống trên mặt phẳng được lấp đầy khoảng trắng (
, số thập phân 32).
Đầu vào có thể là một
x
.Các vectơ liền kề luôn vuông góc với nhau.
Tất cả các vectơ là đầu đến đuôi.
Đầu ra
Đây sẽ là sự dịch chuyển của điểm kết quả (khoảng cách từ điểm bắt đầu) và mức độ mà nó đã di chuyển, so với điểm bắt đầu.
Đối với đầu vào trên, đầu ra phải là 8.06
đơn vị và 60.3
độ. Mỗi nên có chính xác 3 con số quan trọng. Dưới đây là một vài ví dụ về các số có 3 chữ số có nghĩa:
- 1,00
- 60,1
- 453
- 7,08
- 4,50
- 349
Tất cả các phép đo đơn vị sẽ được <= 999
.
Những con số này phải được xuất ra ở định dạng dưới đây. Đây là sử dụng các số từ trên.
8.06 units @ 60.3 degrees
Điều này có thể được theo sau bởi một không gian duy nhất hoặc dòng mới.
Nếu đầu vào là một đơn x
, không có dịch chuyển và do đó không có góc dịch chuyển, đầu ra phải là một dòng trống (một ký tự dòng mới) hoặc theo định dạng sau:
0 units @ - degrees
Nếu bạn đang cố gắng để đủ điều kiện nhận thưởng, hướng đi cũng sẽ -
như vậy.
Trong trường hợp phần thưởng 2, 3 hoặc cả hai được hoàn thành, đầu ra phải tuân theo mô hình dưới đây và tuân theo các hạn chế tương tự như trên.
8.06 units @ 60.3 degrees NE
Độ nên được đo theo mặt phẳng tiêu chuẩn.
90
135 | 45
\|/
180 ---x---- 0
/|\
225 | 315
270
0
độ là đông, 1 - 89
độ là đông bắc, 90
là bắc, v.v.
Tiền thưởng
Dưới đây có giá trị tổng cộng -50%.
Nhận phần thưởng -10% cho mỗi vectơ bổ sung có thể được xử lý. Phần thưởng này có thể được áp dụng tối đa 3 lần. Các vectơ sẽ không bao giờ trùng nhau hoặc chéo.
Nhận phần thưởng -10% nếu đầu ra của bạn bao gồm hướng chính của góc (bắc, nam, đông, tây).
Nhận phần thưởng -10% nếu đầu ra của bạn bao gồm các hướng trung gian của góc (đông bắc, tây bắc, đông nam, tây nam).
Ví dụ
Trong:
x---->
|
v
Ngoài:
5.39 units @ 338 degrees
Tùy chọn SE
Trong:
<--------------^
|
|
x
Ngoài:
15.3 units @ 169 degrees
Tùy chọn NW
Trong:
x
|
|<-----^
| |
v------>
Ngoài:
2.24 units @ 297 degrees
Tùy chọn SE
Ví dụ (nhiều vectơ)
Trong:
x--->
|
|
v----------->
Ngoài:
16.3 units @ 349 degrees
Tùy chọn SE
Trong:
<-------^
| |
| |
v |
|
|
x
Ngoài:
8.54 units @ 159 degrees
Tùy chọn NW
Trong:
^-->
| |
| v
|
<--------x
Ngoài:
6.32 units @ 162 degrees
Tùy chọn NW
x-->
. Vectơ có thể vượt qua?
x
. Có thể có nhiều hơn hai (nếu cố gắng hoàn thành phần thưởng), nhưng không ít hơn. Tôi đang làm việc trên các ví dụ cho nhiều đầu vào vector. Không có đầu vào sẽ vectơ chéo. @ThomasKwa
x
gì? Ranh giới giữa Bắc và Tây Bắc là gì?