APIO 2011

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 APIO 2011 - Table Coloring 100 (p) 2.0s 256M
2 APIO 2011 - Find the Path 100 (p) 8.0s 256M
3 APIO 2011 - Guess My Word! 100 (p) 2.0s 256M

1. APIO 2011 - Table Coloring

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Sam và em gái Sara có một bảng gồm \(n \times m\) ô vuông. Hai anh em muốn tô mỗi ô bằng màu đỏ hoặc xanh sao cho mọi hình vuông \(2 \times 2\) gồm các ô kề nhau đều chứa một số lẻ ô đỏ, tức là \(1\) hoặc \(3\) ô.

Ví dụ, bảng \(3 \times 5\) sau là một cách tô hợp lệ.

Đêm qua, ai đó đã tô sẵn một số ô màu đỏ và một số ô màu xanh. Sam và Sara muốn biết có thể tô các ô còn lại theo quy tắc trên hay không, và có bao nhiêu cách tô như vậy. Không được thay đổi màu của các ô đã tô sẵn.

Dữ liệu vào

Dòng đầu chứa ba số nguyên \(n\), \(m\), \(k\), lần lượt là số hàng, số cột và số ô đã được tô sẵn.

Trong \(k\) dòng tiếp theo, dòng thứ \(i\) chứa ba số nguyên \(x_i\), \(y_i\), \(c_i\): hàng, cột và màu của ô đã tô thứ \(i\). Giá trị \(c_i=1\) biểu thị màu đỏ, còn \(c_i=0\) biểu thị màu xanh. Các ô được mô tả có vị trí đôi một khác nhau.

Dữ liệu ra

In một số nguyên trên một dòng: số cách tô hợp lệ lấy phần dư khi chia cho \(10^9\). Nếu không có cách tô hợp lệ, in \(0\).

Ràng buộc

  • \(2 \le n,m \le 10^5\).
  • \(0 \le k \le 10^5\).
  • \(1 \le x_i \le n\), \(1 \le y_i \le m\), \(c_i \in \{0,1\}\) với mọi \(1 \le i \le k\).

Phân nhóm

Mỗi phân nhóm được chấm độc lập theo kiểu tất cả hoặc không: bạn chỉ nhận điểm của nhóm khi đúng toàn bộ test trong nhóm. Điểm trong bảng là phần điểm cộng thêm trên LQDOJ; nhóm sau bao gồm lại các test thỏa điều kiện của nhóm trước.

Nhóm Điểm Ràng buộc bổ sung
1 20 \(n,m \le 5\)\(k \le 5\).
2 30 \(n,m \le 5000\)\(k \le 25\).
3 50 Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
3 4 3
2 2 1
1 2 0
2 3 1
Output
8

Nguồn

APIO 2011 — Table Coloring.

2. APIO 2011 - Find the Path

Điểm: 100 (p) Thời gian: 8.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

TooDee là một vùng đất hai chiều có dạng lưới, giống hệ tọa độ Descartes. Nơi đây có những sinh vật nhỏ bé gọi là Dee, giống loài ong nhưng sống trong không gian hai chiều và rất văn minh. Tổ của Dee là những hình chữ nhật có các cạnh song song với các trục tọa độ, theo hướng đông–tây hoặc bắc–nam.

Các Dee bay trên những đường song song với các trục tọa độ, qua các điểm có tọa độ nguyên. Mọi Dee phải tuân thủ các quy tắc sau:

  • Từ điểm \((x,y)\), chỉ được bay đến một trong bốn điểm kề nó: \((x-1,y)\), \((x+1,y)\), \((x,y-1)\), \((x,y+1)\).
  • Không được đi vào bên trong bất kỳ tổ Dee nào. Có thể đi trên cạnh hoặc tại đỉnh của tổ.
  • Chỉ được đổi hướng bay khi đang ở trên cạnh hoặc tại đỉnh của một tổ Dee.
  • Khi bắt đầu, có thể chọn hướng bay bất kỳ.

Tối nay là sinh nhật con gái của Deeficer, một viên chức của Bộ Tài sản Công cộng TooDee. Cô ấy muốn từ văn phòng về nhà nhanh nhất có thể. Với tốc độ bay một đơn vị độ dài mỗi giây, hãy tìm thời gian ngắn nhất để cô ấy về đến nhà mà vẫn tuân thủ các quy tắc trên.

Dữ liệu vào

Dòng đầu chứa số nguyên \(T\), số tình huống. Các tình huống được cho tiếp theo; trước mỗi tình huống có một dòng trống.

Dòng đầu của mỗi tình huống chứa bốn số nguyên: tọa độ \(x,y\) của văn phòng, rồi tọa độ \(x,y\) của nhà. Dòng thứ hai chứa số nguyên \(N\), số tổ Dee. Mỗi dòng trong \(N\) dòng tiếp theo chứa bốn số nguyên, là tọa độ của hai đỉnh đối diện của một tổ.

Không có hai tổ nào chồng lên nhau hoặc tiếp xúc với nhau, kể cả tại đỉnh. Văn phòng và nhà là hai điểm khác nhau. Diện tích mỗi tổ ít nhất là một đơn vị vuông.

Dữ liệu ra

Với mỗi tình huống, in trên một dòng số giây cần thiết để về nhà theo đường đi ngắn nhất. Nếu không thể về nhà mà vẫn tuân thủ các quy tắc, in chính xác No Path.

Ràng buộc

  • \(1 \le T \le 20\).
  • \(0 \le N \le 1000\) trong mỗi tình huống.
  • Mọi tọa độ là số nguyên thuộc đoạn \([-10^9,10^9]\).

Phân nhóm

Mỗi phân nhóm được chấm độc lập theo kiểu tất cả hoặc không: bạn chỉ nhận điểm của nhóm khi đúng toàn bộ test trong nhóm. Điểm trong bảng là phần điểm cộng thêm trên LQDOJ; nhóm sau bao gồm lại các test thỏa điều kiện của nhóm trước.

Các điều kiện trong bảng áp dụng cho mọi tình huống của dữ liệu vào.

Nhóm Điểm Ràng buộc bổ sung
1 20 \(N \le 10\); mọi tọa độ không âm và nhỏ hơn \(100\).
2 40 \(N \le 100\); giá trị tuyệt đối của mọi tọa độ nhỏ hơn \(1000\).
3 40 Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
2

1 7 7 8
2
2 5 3 8
4 10 6 7

2 1 5 4
1
3 1 4 3
Output
9
No Path

Nguồn

APIO 2011 — Find the Path.

3. APIO 2011 - Guess My Word!

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

“Guess My Word”, gọi tắt là GMW, là trò chơi dành cho hai người rất phổ biến trong giới học sinh Iran. Gọi hai người chơi là A và B. Ban đầu, A chọn một từ trong một bộ từ mà cả hai đều biết và ghi nhớ từ đó. Sau đó, trên một tờ giấy mà B nhìn thấy, A vẽ một hàng gồm \(n\) đoạn thẳng ngang ngắn, trong đó \(n\) là số chữ cái của từ đã chọn.

B cố gắng đoán từ, từng chữ cái một. Mỗi lượt, B chọn một chữ cái và nói cho A biết. A trả lời theo quy tắc sau:

  • Nếu chữ cái B chọn có trong từ, A viết nó phía trên đoạn thẳng ở đúng vị trí tương ứng. Nếu từ đã hoàn chỉnh, tức là mọi chữ cái đều đã được viết ra, B thắng.
  • Nếu chữ cái đó không có trong từ, A viết nó bên dưới đoạn thẳng ngoài cùng bên trái còn chỗ trống ở phía dưới. Nếu không thể viết vì tất cả các chỗ phía dưới đều đã bị chiếm, tức là B đã đoán sai \(n\) lần trước đó, thì B thua và A thắng. Sau khi thắng, A phải tiết lộ từ đã chọn cho B.

Ví dụ, A chọn từ RED, còn B lần lượt đoán A, E, C, D, B, R. Diễn biến như sau; dấu gạch ngang biểu thị một chữ cái chưa được viết ra.

B thắng ở lượt cuối. Nếu B đoán S thay cho R ở lượt đó thì B đã thua.

Aidin rất thích trò chơi này. Cậu nhận thấy nếu bộ từ đủ lớn và có những từ thích hợp, A có thể gian lận bằng cách thay đổi từ đang nghĩ đến. Vì A chỉ giữ từ trong đầu mà không viết ra, trong quá trình chơi A có thể đổi sang một từ khác trong bộ từ, miễn là từ mới vẫn phù hợp với tất cả những câu trả lời đã đưa ra cho B. Độ dài từ vẫn phải bằng số đoạn thẳng đã vẽ.

Chẳng hạn, trong ván chơi trên, nếu bộ từ có RED, BED, LED, TED thì A có thể bảo đảm chiến thắng sau lượt thứ tư. A luôn trả lời rằng chữ cái B vừa đoán là sai. Mỗi lượt tiếp theo chỉ loại bỏ nhiều nhất một từ khỏi tập RED, BED, LED, TED. Đến khi thắng, A chỉ cần tiết lộ một từ vẫn còn lại trong tập đó.

Aidin cho rằng với một bộ từ thích hợp, A đôi khi có thể bảo đảm chiến thắng ngay từ đầu. Ví dụ, nếu chơi với từ có hai chữ cái và bộ từ chứa tất cả các từ ME, MD, DE, ED, AS, IS, AI, SI, thì A luôn có thể thắng.

Cho bộ từ, hãy xác định A có thể bảo đảm chiến thắng trước mọi chiến lược của B hay không. Cuối mỗi ván A thắng, A phải đưa ra được một từ thuộc bộ từ, phù hợp với toàn bộ câu trả lời của mình trong ván đó.

Dữ liệu vào

Dòng đầu chứa số nguyên \(C\), số bộ từ cần xét độc lập. Tiếp theo là \(C\) khối dữ liệu.

Mỗi khối bắt đầu bằng số nguyên \(K\), số từ trong bộ từ. Tiếp theo là \(K\) từ, được phân cách bởi dấu cách, ký tự tab hoặc dấu xuống dòng. Mỗi từ chỉ gồm các chữ cái tiếng Anh viết hoa, có độ dài nhỏ hơn \(7\), và không có chữ cái nào xuất hiện quá một lần trong cùng một từ.

Dữ liệu ra

Với mỗi bộ từ, in Yes trên một dòng nếu A có chiến lược luôn thắng, bất kể các chữ cái và chiến lược B lựa chọn. Nếu không, in No.

Ràng buộc

  • \(1 \le C \le 20\).
  • \(1 \le K \le 1000\) với mỗi bộ từ.
  • Độ dài mỗi từ từ \(1\) đến \(6\).
  • Kích thước tệp dữ liệu vào nhỏ hơn \(500\) KB.

Phân nhóm

Mỗi phân nhóm được chấm độc lập theo kiểu tất cả hoặc không: bạn chỉ nhận điểm của nhóm khi đúng toàn bộ test trong nhóm. Điểm trong bảng là phần điểm cộng thêm trên LQDOJ; nhóm sau bao gồm lại các test thỏa điều kiện của nhóm trước.

Các điều kiện trong bảng áp dụng cho mọi bộ từ của dữ liệu vào.

Nhóm Điểm Ràng buộc bổ sung
1 20 Mỗi từ có nhiều nhất \(3\) chữ cái và mỗi bộ từ có nhiều nhất \(100\) từ.
2 30 Mỗi từ có nhiều nhất \(4\) chữ cái và mỗi bộ từ có nhiều nhất \(300\) từ.
3 50 Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
2
12
SI ME AND AI ARE MD AS WHEN ED IS DE
HARPY

5
A B AB AC AD
Output
Yes
No

Nguồn

APIO 2011 — Guess My Word!