JOI 2025 - Multi Communication
Xem PDFĐây là bài chỉ nộp kết quả (output-only).
Chủ tịch K chuẩn bị một trò chơi cho những người tham gia trại huấn luyện mùa xuân. Có \(N\) người tham gia, được đánh số từ \(1\) đến \(N\). Mỗi người có một tấm bảng. Trò chơi diễn ra như sau:
- Chủ tịch K chọn một người làm người cha; tất cả những người còn lại là người con. Ông không thông báo cho những người tham gia ai được chọn làm người cha.
- Chủ tịch K viết ký tự
Tlên bảng của người cha và ký tựFlên bảng của tất cả những người con. - Mỗi người đọc ký tự trên bảng của chính mình. Sau đó, mọi người thực hiện \(L\) lượt theo một chiến lược đã thống nhất trước.
- Sau \(L\) lượt, mỗi người phải trả lời số hiệu của người cha.
Mỗi lượt trong bước \(3\) gồm hai giai đoạn theo thứ tự:
- Trước hết, mỗi người xóa ký tự trên bảng của mình, viết một ký tự mới là
ThoặcF, rồi đưa bảng cho chủ tịch K. - Sau đó, lần lượt với \(i=1,2,\ldots,N\), người \(i\) chọn một người có số hiệu \(p\) (\(1 \le p \le N\)) và báo số \(p\) cho chủ tịch K. Chủ tịch K cho người \(i\) xem bảng của người \(p\), và người \(i\) đọc ký tự trên bảng đó. Người \(i\) được phép chọn chính mình.
Mục tiêu là thống nhất trước một chiến lược sao cho, bất kể ai được chọn làm người cha, cuối cùng tất cả mọi người đều xác định đúng số hiệu người cha. Bạn muốn đạt mục tiêu với số lượt \(L\) càng nhỏ càng tốt.
Một chiến lược gồm số nguyên không âm \(L\) và các quy tắc quyết định hành động như sau:
- Với người \(i\) (\(1 \le i \le N\)), giả sử các ký tự người đó đã đọc trước khi lượt \(t\) (\(1 \le t \le L\)) bắt đầu lần lượt là \(a_0,a_1,\ldots,a_{t-1}\). Chỉ dựa trên thông tin \((i,t,a_0,a_1,\ldots,a_{t-1})\), người đó phải quyết định cả ký tự sẽ viết lên bảng trong lượt \(t\) lẫn số hiệu người sẽ chọn để xem bảng trong lượt đó.
- Với người \(i\), giả sử các ký tự đã đọc đến hết lượt \(L\) lần lượt là \(a_0,a_1,\ldots,a_L\). Chỉ dựa trên thông tin \((i,L,a_0,a_1,\ldots,a_L)\), người đó phải quyết định số hiệu người cha mà mình sẽ trả lời.
Ở đây, \(a_0\) là ký tự được đọc trên bảng của chính người đó trước lượt đầu tiên, còn \(a_t\) là ký tự đọc được trong lượt \(t\).
Hãy xây dựng một chiến lược đạt mục tiêu. Với từng trường hợp người cha là \(1,2,\ldots,N\), hãy xuất ký tự mà mỗi người viết lên bảng và số hiệu người mà họ chọn xem bảng ở mỗi lượt khi thực hiện cùng chiến lược đó.
Dữ liệu vào
Mỗi tệp dữ liệu vào chứa một số nguyên \(N\).
Dữ liệu ra
Xuất dữ liệu theo cấu trúc:
L
acts_1
acts_2
...
acts_N
Dòng đầu tiên chứa số nguyên không âm \(L\), là số lượt của chiến lược. Khối \(acts_s\) mô tả hành động của mọi người trong trường hợp người \(s\) là người cha. Các khối được xuất theo thứ tự \(s=1,2,\ldots,N\).
Mỗi khối \(acts_s\) có cấu trúc:
s
c_{1,1} p_{1,1} c_{1,2} p_{1,2} ... c_{1,L} p_{1,L}
c_{2,1} p_{2,1} c_{2,2} p_{2,2} ... c_{2,L} p_{2,L}
...
c_{N,1} p_{N,1} c_{N,2} p_{N,2} ... c_{N,L} p_{N,L}
- Dòng đầu tiên của khối chứa số nguyên \(s\).
- Trong \(N\) dòng tiếp theo, dòng thứ \(i\) mô tả hành động của người \(i\). Với mỗi lượt \(t=1,2,\ldots,L\), xuất lần lượt ký tự \(c_{i,t}\) mà người đó viết lên bảng và số hiệu \(p_{i,t}\) của người mà họ chọn xem bảng. Các giá trị trên một dòng được ngăn cách bởi dấu cách.
- \(c_{i,t}\) phải là
ThoặcF, và \(1 \le p_{i,t} \le N\).
Điều kiện hợp lệ
Kết quả được coi là đúng khi và chỉ khi tồn tại một chiến lược đạt mục tiêu mà dữ liệu xuất ra chính là các hành động khi thực hiện chiến lược đó. Cụ thể, phải đồng thời thỏa mãn hai điều kiện:
- Với mọi người \(i\) (\(1 \le i \le N\)), mọi lượt \(t\) (\(1 \le t \le L\)) và hai ứng viên người cha khác nhau \(x,y\) (\(1 \le x,y \le N\), \(x\ne y\)): nếu dãy ký tự mà người \(i\) đã đọc trước lượt \(t\) giống nhau trong trường hợp người cha là \(x\) và trường hợp người cha là \(y\), thì hành động của người \(i\) ở lượt \(t\) cũng phải giống nhau trong hai trường hợp, tức là viết cùng ký tự và chọn cùng một người để xem bảng.
- Với mọi người \(i\) và hai ứng viên người cha khác nhau \(x,y\), dãy ký tự mà người \(i\) đã đọc đến hết lượt \(L\) trong trường hợp người cha là \(x\) phải khác dãy ký tự trong trường hợp người cha là \(y\).
Tệp kết quả
Chỉ nộp các tệp kết quả output_01.txt, output_02.txt, output_03.txt, lần lượt tương ứng với các tệp dữ liệu vào input_01.txt, input_02.txt, input_03.txt.
Ràng buộc
\(N\) là một trong ba giá trị \(4\), \(32\), \(48\).
Chấm điểm
Điểm của bài là tổng điểm của ba bộ dữ liệu vào. Với mỗi bộ dữ liệu, nếu kết quả sai định dạng hoặc không thỏa mãn các điều kiện hợp lệ, điểm của bộ dữ liệu đó bằng \(0\).
Nếu kết quả hợp lệ, điểm được tính theo số lượt \(L\) trong tệp kết quả tương ứng:
| Nhóm | Tệp dữ liệu vào | \(N\) | Điều kiện | Điểm | Điểm tối đa của nhóm |
|---|---|---|---|---|---|
| 1 | input_01.txt |
\(4\) | \(4<L\) | \(0\) | \(16\) |
| 1 | input_01.txt |
\(4\) | \(2<L\le4\) | \(16-7\times(L-2)\) | \(16\) |
| 1 | input_01.txt |
\(4\) | \(L\le2\) | \(16\) | \(16\) |
| 2 | input_02.txt |
\(32\) | \(27<L\) | \(0\) | \(60\) |
| 2 | input_02.txt |
\(32\) | \(8<L\le27\) | \(60-3\times(L-8)\) | \(60\) |
| 2 | input_02.txt |
\(32\) | \(L\le8\) | \(60\) | \(60\) |
| 3 | input_03.txt |
\(48\) | \(9<L\) | \(0\) | \(24\) |
| 3 | input_03.txt |
\(48\) | \(L\le9\) | \(24\) | \(24\) |
Nếu điểm bằng \(0\), hệ thống chấm của kỳ thi gốc hiển thị thông báo Output isn't correct, kể cả khi nguyên nhân là số lượt quá lớn.
Ví dụ
Ví dụ 1
Input
3
Output
3
1
T 1 T 2 T 3
F 1 F 2 F 3
F 1 F 2 F 3
2
F 1 F 2 F 3
T 1 T 2 T 3
F 1 F 2 F 3
3
F 1 F 2 F 3
F 1 F 2 F 3
T 1 T 2 T 3
Giải thích
Kết quả này có thể được tạo ra bởi chiến lược sau:
- Chọn \(L=3\).
- Trong mỗi lượt \(t\) (\(1 \le t \le L\)), mỗi người viết
Tnếu mình là người cha và viếtFnếu mình là người con. Mỗi người biết vai trò của chính mình nhờ ký tự đã đọc trên bảng lúc đầu. - Trong lượt \(t\), mọi người đều chọn xem bảng của người \(t\), không phụ thuộc vào các ký tự đã đọc trước đó.
- Đến hết lượt \(3\), mỗi người đã đọc bảng của tất cả những người tham gia, kể cả chính mình, ít nhất một lần. Mỗi người trả lời số hiệu của người có ký tự
Ttrên bảng.
Với chiến lược này, bất kể ai được chọn làm người cha, cuối cùng tất cả mọi người đều trả lời đúng. Vì vậy, kết quả trong ví dụ là hợp lệ.
Ví dụ này không thỏa mãn ràng buộc của bài và không nằm trong các bộ dữ liệu chấm, vì \(N=3\).
Nguồn
Đề bài của Ủy ban Olympic Tin học Nhật Bản, JOI 2024/2025, vòng tuyển chọn mùa xuân, ngày thi thứ ba. Đề gốc và bản dịch tiếng Việt được cung cấp theo giấy phép CC BY-SA 4.0.
Kỳ thi:
- JOI 2025 - Tuyển chọn mùa xuân - Ngày 3 (23 Tháng ba, 2025)
Bình luận