Các tọa độ trong thế giới Trái đất phẳng bao gồm vĩ độ (x) và kinh độ (y), là các số nguyên trong phạm vi 0 ... 9999. Giống như các số nguyên Gaussian , nhưng chúng luôn được viết bằng ký hiệu này:
411S 370E
Đó là, có S
hoặc được N
thêm vào vĩ độ và E
hoặc được W
thêm vào kinh độ, với (các) không gian giữa hai thành phần.
Mục tiêu
Viết chương trình (không phải là hàm) đọc hai tọa độ, cách nhau bởi khoảng trắng và xuất tổng của chúng. Tọa độ đầu tiên là điểm bắt đầu, tọa độ thứ hai là chuyển vị và đầu ra là vị trí kết quả.
Đầu ra đầu vào
Vì thách thức này là một phần về định dạng, tôi sẽ cố gắng xác định rõ ràng các định dạng đầu vào và đầu ra.
Định dạng đầu vào ưa thích có 1 khoảng trắng giữa các thành phần tọa độ, không có số 0 đứng đầu và ký tự dòng mới giữa hai tọa độ. Chương trình phải có khả năng đọc định dạng ưa thích.
Đầu ra có thể chứa bất kỳ số lượng khoảng trắng và số 0 đứng đầu. Nếu nó khác với định dạng đầu vào ưa thích, chương trình cũng phải có thể đọc định dạng này.
Chỉ cần làm cho nó rõ ràng, đầu vào không thể (sẽ không) chứa bất kỳ ký tự định dạng bổ sung. Chỉ cần không gian và dòng mới khi cần thiết.
Chấm điểm
Đây là một thử nghiệm về một điều kiện chiến thắng mới. Tôi sẽ chọn người chiến thắng bằng cách chấp nhận câu trả lời trong một vài tuần. Nếu câu trả lời tốt hơn xuất hiện sau đó, tôi sẽ thay đổi câu trả lời được chấp nhận.
Điểm cho chương trình là số byte của nó. Chương trình chiến thắng là một chương trình ngắn hơn 400 byte, có số byte ít nhất, nhưng được viết bằng ngôn ngữ lập trình dài dòng nhất . Để xác định người chiến thắng:
- Xóa các chương trình có số byte từ 400 trở lên (chúng có thể tham gia nhưng không thể thắng)
- Chỉ xem xét chương trình ngắn nhất cho mỗi ngôn ngữ lập trình
- Các dài nhất chiến thắng chương trình
Polyglots cạnh tranh với các chương trình ở tất cả các ngôn ngữ mà chúng hợp lệ (ví dụ: nếu một chương trình hợp lệ ở cả hai bash
và sh
, nó cạnh tranh với các chương trình ở cả hai ngôn ngữ).
Các trường hợp thử nghiệm
Trong các trường hợp thử nghiệm, hai dòng đầu tiên là đầu vào và dòng thứ ba là đầu ra.
0S 0E
0S 0W
0N 0E
(hướng của số 0 không quan trọng, cả ở đầu vào và đầu ra)
0S 9999E
9999N 9999W
9999N 0E
(giá trị tối đa)
42S 314W
42N 2718W
0N 3032W
(hướng về số 0 không quan trọng trong đầu ra)
5555N 8888W
7777S 0E
2222S 8888W
(không có giá trị âm; thay đổi hướng nếu bạn cần thay đổi dấu)
0001N 4545W
0999N 5454W
1000N 9999W
(nếu chương trình xuất ra các số 0 đứng đầu và một số khoảng trắng, thì nó phải có khả năng đọc chúng; nó cũng phải có thể đọc đầu vào không chứa chúng)
8888N 8888W
9999N 9999W
(đầu vào không hợp lệ - mọi hành vi đều được chấp nhận, bao gồm cả sự cố và vòng lặp vô hạn)