Vào thời trung cổ, vùng đất LQDOJ đã bị một đợt sóng thần quét qua làm hư hại rất nhiều nhà cửa, ruộng vườn. Trong đó có tòa lâu đài của lãnh chúa vùng đất. Do đó lãnh chúa đã ra lệnh khẩn cấp chọn vị trí để xây lâu đài mới của mình.
Vùng đất giờ đây có dạng một bảng hình chữ nhật kích thước \(r \times c\) gồm các ô đất hình vuông. Ô đất ở hàng \(i\) \((1 \leq i \leq r)\), cột \(j\) \((1 \leq j \leq c)\) được gọi là ô \((i, j)\) và đất nơi đây có độ cao \(h_{i,j}\) so với mực nước biển. Tòa lâu đài sẽ được xây trên một khu đất hình chữ nhật \((x, y, u, v)\) (với \((x , y)\) là tọa độ góc trái trên và \((u, v)\) là tọa độ góc phải dưới trong đó \(1 \leq x \leq u \leq r\) và \(1 \leq y \leq v \leq c\)) sao cho các ô đất thuộc khu đất này có cùng độ cao.
Lãnh chúa muốn biết có bao nhiêu cách chọn khu đất thỏa mãn yêu trên cầu để xây lâu đài. Hai cách chọn được xem là khác nhau khi và chỉ khi tồn tại một ô đất thuộc khu đất trong cách chọn này nhưng không thuộc khu đất trong cách chọn kia.
Yêu cầu: Bạn hãy giúp lãnh chúa đếm xem ngài có bao nhiêu cách chọn khu đất thỏa mãn yêu cầu nêu trên.
Test 1
3 3
1 1 1
2 2 2
3 3 3
18
Mỗi hàng trong \(3\) hàng trên bản đồ vùng đấy, ta có \(6\) cách chọn khu đất mà mỗi ô đất trong khu đất có cùng độ cao. Do đó có \(6 \times 3 = 18\) cách chọn.
Test 2
5 6
1 1 1 1 5 5
1 1 1 5 5 4
3 2 2 2 2 4
3 3 2 2 2 4
3 3 2 2 2 4
91
Minh đang chơi Roller - một trò chơi nhỏ bên trong trò Fancade. Trò chơi như sau: Cho một nhân vật có dạng một khối hình 3D kích thước \(1 \times 2 \times 1\) nằm trong một bảng hình chữ nhật. Cần phải tìm cách di chuyển nhân vật này bằng cách lật, hoặc lăn nó, sao cho mọi ô trong hình chữ nhật đều được "tô điểm với nhiều sắc màu rực rỡ" bằng cách được đi qua ít nhất một lần.
Là một người yêu thích Tin học, Minh đã nhận ra đây là một bài toán có thể lập trình được. Cậu phát biểu lại nó như sau:
Có một bảng hình chữ nhật kích thước \(n\times m\), tức gồm \(n\) dòng và \(m\) cột. Các hàng của bảng được đánh số từ \(1\) tới \(n\) theo thứ tự từ trên xuống. Các cột được đánh số từ \(1\) tới \(m\) theo thứ tự từ trái sang. Cho khối 3D kích thước \(1 \times 2 \times 1\) ban đầu nằm trên ô \((x, y)\) của bảng này (ô ở dòng \(x\), cột \(y\)). Bảng này có \(k\) ô cấm, không đi vào được. Có thể di chuyển khối này theo phép lật/lăn trong không gian \(3\) chiều, theo \(4\) hướng: trên (U
), dưới (D
), trái (L
), phải (R
) (lưu ý các hướng này mang tính tương đối, khi ta giả sử đang nhìn từ trên xuống và đối diện với bảng hình chữ nhật hai chiều). Xem minh họa qua hình sau:
Trong mọi thời điểm, khối hình này không được nằm lên các ô cấm. Ngoài ra, toàn bộ khối hình phải nằm trọn vẹn trong bảng hình chữ nhật. Các ô được nằm lên sẽ được đánh dấu. Hỏi có thể đánh dấu được tất cả mọi ô (trừ ô cấm) hay không với giới hạn số nước đi là \(L\)?
Minh chỉ muốn tận hưởng thành quả - chương trình giải trò chơi tự động chứ không muốn trải qua công đoạn lập trình vất vả. Bạn ấy nhờ các thí sinh của LQDOJ CUP 2023 trợ giúp. Các bạn hãy giải quyết bài toán trên nhé.
Yêu cầu: Cho biết kích thước bảng, vị trí các ô cấm, vị trí ban đầu của khối hình. Hãy in ra một chuỗi các nước đi tương ứng. Nếu không tồn tại cách để đánh dấu toàn bộ ô (trừ ô cấm), hoặc không tồn tại chuỗi các bước đi dài không quá \(L\) bước thỏa mãn, in ra -1
.
-1
hoặc một xâu chỉ gồm 4 kí tự UDLR
tương ứng với các nước đi - lật theo hướng trên/dưới/trái/phải nếu nhìn từ trên xuống (theo bảng hình chữ nhật) (xem hình số 2 để hiểu rõ hơn).Test 1
3 3 1 54
3 3 0
1 3
LUUDR
Mùa sầu riêng đã đến, những con sóc rất thích hái những quả sầu riêng mang về để giữ trữ vào mùa đông.
Cho một cây cầu riêng gồm \(n\) quả và \(n - 1\) cành, hai đầu của mỗi cành được nối với những quả sầu riêng. Từ một quả bất kỳ, sóc có thể di chuyển qua tất cả những quả khác bằng cách dùng các cành cây đó. Khoảng cách giữa hai quả sầu riêng được cho là số cành ít nhất được dùng để sóc có thể di chuyển từ quả này sang quả kia.
Mẹ sóc giao nhiệm vụ cho sóc là chọn nhiều quả sầu riêng nhất sao cho khoảng cách giữa hai quả bất kỳ được chọn luôn lớn hơn hoặc bằng \(d\). Vì số quả quá lớn nên sóc không thể tính được, các bạn hãy tính hộ sóc nhé!
Test 1
5 100
1 3
2 1
4 2
5 4
1