Câu hỏi này là về những đống cát abelian . Đọc thử thách trước đó và xem video số này để tìm hiểu thêm.
Một hố cát abelian có kích thước n by n là một lưới chứa số 0, 1, 2 và 3 (đại diện cho số hạt cát). Thêm hai sandpiles hoạt động bằng cách trước tiên thêm phần tử theo phần tử, sau đó lật đổ bất kỳ phần tử nào ở trên 3. Thứ tự mà bạn lật đổ không quan trọng, kết quả cuối cùng là như nhau. Khi một tế bào lật đổ số lượng của nó giảm 4 và mỗi hàng xóm trực tiếp của nó tăng thêm 1. Điều này có thể gây ra phản ứng dây chuyền. Nếu một ô nằm trên rìa của lưới, bất kỳ hạt nào rơi ra khỏi lưới trong khi lật đổ sẽ biến mất.
Ví dụ: tôi đang thêm hai 3 đến 3 sandpiles (tạo ra phản ứng dây chuyền khá cực đoan):
3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2
3 3 3 + 2 1 2 = 5 4 5 -> 6 0 6 -> 2 4 2 -> 3 0 3 -> 5 0 5 -> 1 4 1 -> 2 0 2 -> 4 0 4 -> 0 4 0 -> 1 0 1
3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2
Trong thử thách này, chúng tôi quan tâm đến một tập hợp con của tất cả n có thể bằng n sandpiles. Tập hợp con này chứa bất kỳ sandpile nào mà bạn có thể nhận được bằng cách thêm một sandpile tùy ý vào all-3s n by n sandpile. Ví dụ, ngay phía trên chúng ta đã thấy nó 212 | 101 | 212nằm trong tập hợp con, bởi vì chúng ta đã có được nó bằng cách thêm một cái gì đó vào tất cả 3 hố cát.
Bây giờ tập hợp con này có một yếu tố thú vị: yếu tố nhận dạng . Nếu bạn lấy phần tử này và thêm nó vào bất kỳ phần tử nào khác trong tập hợp con , tổng không thay đổi. Nói cách khác, đống cát này hoạt động giống như một số không của tập hợp con này. Nó chỉ xảy ra như vậy 212 | 101 | 212là phần tử 0 cho tập hợp con của 3 bằng 3. Ví dụ:
2 2 2 2 1 2 4 3 4 0 5 0 2 1 2 2 2 2
2 2 2 + 1 0 1 = 3 2 3 -> 5 2 5 -> 1 6 1 -> 2 2 2
2 2 2 2 1 2 4 3 4 0 5 0 2 1 2 2 2 2
Bây giờ đây là thử thách của bạn: cho n , tìm phần tử nhận dạng của tập hợp con của n theo lưới n . Xuất ra nó bằng cách chỉ định một màu duy nhất có đủ độ tương phản của sự lựa chọn của bạn với từng 0, 1, 2, 3và xuất ra một hình ảnh n theo n. Mã của bạn phải có thể tạo ra trường hợp 50 đến 50 trong một phút trên một PC hiện đại hợp lý.
Ví dụ: phần tử nhận dạng 500 x 500:
Đây là blue = 3, green = 2, red = 1, white = 0. Nhưng bạn không phải sử dụng bảng màu này trong câu trả lời của mình.
