Tìm số hàng xóm của tôi


11

Đầu vào bao gồm i hàng với thông tin hàng xóm. Mỗi hàng thứ i chứa 4 giá trị, tương ứng với hàng xóm của i theo các hướng Bắc , Đông , NamTây . Vì vậy, mỗi giá trị đại diện cho một hàng xóm theo hướng đã cho của hàng thứ i , bắt đầu từ hàng 1 và có thể lên tới 65.535 hàng. Các 0 giá trị chỉ ra không có hàng xóm để hướng đó.

Chẳng hạn, nếu hàng đầu tiên là "0 2 3 10" thì có nghĩa là hàng xóm thứ i có ba người hàng xóm khác: không có ai ở phía bắc, hàng xóm 2 ở phía đông, hàng xóm 3 ở phía nam và hàng xóm 10 ở phía tây.

Bạn cần xuất ra các hàng xóm, bắt đầu từ giá trị gần nhất về phía tây bắc. Mỗi hàng xóm sẽ chỉ được hiển thị một lần, tại vị trí của nó so với những người khác. Hãy xem một số ví dụ:

Đầu vào:

0 0 0 0

Không có hàng xóm (trường hợp trống), đầu ra:

1

Đầu vào:

0 2 0 0 
0 0 0 1

1 có hàng xóm 2 về phía đông. 2 có hàng xóm 1 về phía tây

Đầu ra:

1 2

Đầu vào:

0 2 0 0
0 0 3 1
2 0 0 0

1 có hàng xóm 2 về phía đông. 2 có hàng xóm 1 ở phía tây và 3 ở phía nam. 3 có hàng xóm 2 ở phía bắc

Đầu ra:

1 2
  3

Đầu vào:

2 0 0 0
0 0 1 0

Đầu ra:

2
1

Đầu vào:

0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3

Đầu ra:

1 2
3 4

Quy tắc:

  • Các trường hợp thử nghiệm được phân tách bằng một dòng trống . Đầu ra của các trường hợp thử nghiệm khác nhau cũng phải được phân tách bằng một dòng trống.
  • Biểu đồ đầu ra luôn được kết nối. Bạn sẽ không có 1 hàng xóm thành 2 chỉ, cùng với 3 hàng xóm thành 4 chỉ (cách ly từ 1-2 thành phần).
  • Tất cả các mục là hợp lệ. Ví dụ về các mục không hợp lệ:
    • Các mục nhập có chứa các chữ cái hoặc bất kỳ ký hiệu nào khác với dấu cách, dấu ngắt dòng và chữ số (0-9).
    • các i thứ hàng chứa i thứ giá trị (vì người ta không thể có người hàng xóm của mình).
    • một giá trị âm hoặc giá trị cao hơn 65,535.
    • Ít hơn bốn giá trị liên tiếp.
    • Hơn bốn giá trị liên tiếp.
    • Hàng xóm giống nhau chỉ vào hai hướng khác nhau (ví dụ: 0 1 1 0).

Các sơ hở tiêu chuẩn được áp dụng và câu trả lời ngắn nhất tính theo byte sẽ thắng.


4
Các trường hợp thử nghiệm được phân tách bằng một dòng trống - Đây là một yêu cầu bất thường. Thông thường người ta cho rằng các mục thử thách sẽ xử lý một testcase tại một thời điểm (mỗi lần gọi). Nếu các mục thử thách có thể xử lý nhiều hơn một testcase tại một thời điểm, thì thật tuyệt, nhưng có rất ít giá trị để chỉ định nghiêm ngặt cách nhiều định dạng testcase nên được định dạng.
Chấn thương kỹ thuật số

1
@Chaotic bạn có thể xóa nó hoàn toàn (nếu bạn muốn), lịch sử sửa đổi sẽ chăm sóc thay đổi
Rod

1
Tôi không hiểu đầu ra liên quan đến đầu ra như thế nào. Bạn có thể giải thích chi tiết hơn về "mảng hàng xóm" nghĩa là gì không, và theo quy tắc nào thì mảng này sẽ được tạo bởi?
Stewie Griffin

3
Aaaaah, tôi nghĩ rằng tôi nhận được nó. Những người hàng xóm được liệt kê 1,2,.... Tôi mặc dù họ có một "đơn vị" láng giềng ở phía đông, và 1 "đơn vị" ở phía nam và cứ thế. Không thể hiểu ý nghĩa của nó.
Stewie Griffin

2
@StewieGriffin yep Tôi đã phải đọc qua nó một vài lần trước khi nó rõ ràng
Chấn thương kỹ thuật số

Câu trả lời:


2

Python 2 , 152 byte

l=input()
def f(x,y,n):
 if m[x][y]<n:m[x][y]=n;[f(i%3-1+x,i/3-1+y,h)for h,i in zip(l[n-1],[3,7,5,1])]
e=len(l)
m=eval(`[[0]*e*2]*e*2`)
f(e,e,1)
print m

Hãy thử trực tuyến!

Thứ tự đầu vào NESW
flà một hàm đệ quy để điền vào các ngôi nhà


Xin lỗi, nó không hoạt động. Tôi thậm chí đã thử với định dạng đầu vào của bạn (mà tôi đoán nó ổn): [[0, 5, 2, 0], [1, 6, 3, 0], [2, 7, 4, 0], [3, 8 , 0, 0], [0, 9, 6, 1], [5, 10, 7, 2], [6, 11, 8, 3], [7, 12, 0, 4], [0, 13 , 10, 5], [9, 14, 11, 6], [10, 15, 12, 7], [11, 16, 0, 8], [0, 17, 14, 9], [13, 18 , 15, 10], [14, 19, 16, 11], [15, 20, 0, 12], [0, 21, 18, 13], [17, 22, 19, 14], [18, 23 , 20, 15], [19, 24, 0, 16], [0, 0, 22, 17], [21, 0, 23, 18], [22, 0, 24, 19], [23, 0 , 0, 20]]
Hỗn loạn

@Chaotic có vẻ ổn đối với tôi có lẽ định dạng đầu ra không thỏa đáng?
Rod

Ok, tôi bị lạc với tất cả những con số không ở đó. Tôi nghĩ sẽ tốt hơn nếu loại bỏ chúng, nhưng tôi không quen sử dụng các quy tắc tiêu chuẩn golf.
Hỗn loạn

Bạn chỉ còn lại không gian không sử dụng?
l4m2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.