| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | LQDOJ Cup 2025 - Round #4 - Trò chơi trên bảng | 100 (p) | 1.0s | 512M |
| 2 | LQDOJ Cup 2025 - Round #4 - Mật mã của Sir Lock Home | 100 (p) | 2.5s | 512M |
| 3 | LQDOJ Cup 2025 - Round #4 - Quỷ Vương Bất Tử | 100 (p) | 2.0s | 512M |
Có thể bạn chưa biết, ngoài trà sữa, GSPVH còn có một đặc sản khác đó chính là boardgame. Nếu như trà sữa được GSPVH phát cho tất cả các bạn học trên lớp, thì những bữa tiệc boardgame sẽ được tổ chức vào buổi tối. Boardgame là hình thức giải trí vui vẻ, hấp dẫn và vô cùng lành mạnh. Khi đắm chìm trong những bữa tiệc boardgame, chúng ta sẽ xích lại gần hơn với những người bạn của mình, thay thế tương tác ảo trên mạng xã hội bởi phút giây cuộc trò chuyện thực tế, và không lo bị tốn thời gian vào những trò chơi vô bổ như Genshin hay Liên Quân. Hơn thế nữa, boardgame còn làm tăng khả năng tư duy thuật toán và lý thuyết trò chơi, điều rất quan trọng với các bạn chuẩn bị thi học sinh giỏi quốc gia.
Trong chuyến đi dạy lần này, để đổi món, GSPVH đã tạo ra một trò boardgame mới để thử thách các bạn học sinh.
GSPVH vẽ trên nền nhà một lưới ô vuông gồm \(m\) hàng và \(n\) cột. Các hàng được đánh số từ \(1\) đến \(m\), các cột được đánh số từ \(1\) đến \(n\). Ô ở hàng \(i\) và cột \(j\) được ký hiệu là \((i, j)\). Trên mỗi ô của lưới, GSPVH có ghi một ký tự. GSPVH mời \(q\) bạn lần lượt tham gia trò chơi. GSPVH phát cho mỗi bạn một xâu ký tự, bạn thứ \(i\) nhận được xâu \(s_i\). Sau đó, các bạn lần lượt thực hiện phần chơi "di chuyển trên lưới". Luật chơi như sau:
Xâu ký tự \(\alpha\) được gọi là xâu bội của xâu ký tự \(\beta\) khi và chỉ khi tồn tại số nguyên dương \(\kappa\) sao cho \(\alpha\) bằng \(\kappa\) xâu \(\beta\) ghép lại với nhau. Ví dụ, gspvh, gspvhgspvh, gspvhgspvhgspvh đều là các xâu bội của gspvh, nhưng pvhgs hay pvhgspvh thì không.
GSPVH tuyên bố, nếu phần chơi của các bạn càng kéo dài (tức độ dài xâu \(t\) theo mô tả ở trên càng lớn) thì GSPVH càng tặng nhiều trà sữa. Vì vậy, các bạn đều muốn số bước di chuyển mình thực hiện được là lớn nhất. Tuy nhiên, để tránh bị kiệt sức do nhảy quá nhiều, các bạn cũng muốn biết liệu số bước tối đa có lớn quá hay không.
Vào từ file văn bản boardgame.inp:
Gọi:
Dữ liệu đảm bảo:
!, @, #, $, %, ^, &, *.Ghi ra file văn bản boardgame.out:
- Với mỗi bộ dữ liệu, in ra \(q\) số nguyên trên một dòng. Số thứ \(i\) là giá trị lớn nhất của độ dài xâu \(t\) (trong phần mô phỏng luật chơi) mà bạn thứ \(i\) có thể tạo ra, hoặc \(-1\) nếu tồn tại cách để người chơi này đi nhiều hơn \(2207^{1997}\) bước.
Bộ test của bài được chia làm các subtask như sau:
Với mỗi test, nếu file kết quả của bạn không đúng format (chứa ký tự lạ, chứa nhiều hơn hoặc ít hơn \(\Sigma_{q}\) số nguyên,...), bạn sẽ được \(0\) điểm. Ngược lại, gọi \(\rho\) là số giá trị khớp với đáp án của giám khảo, số điểm bạn nhận được là \((\frac{\rho}{\Sigma_{q}})^{\sqrt{2.27}}\). Điểm tối đa của một test là \(1\).
boardgame.inp2
4 4 2
abca
abab
cabc
abba
abc bc
5 5 3
LQDQd
QDOLJ
LOJLO
QDIQD
LOjLO
LQDOJ DOJI LQD
boardgame.out6 2
-1 -1 3
Chắc hẳn các bạn đã từng nghe tới Sherlock Holmes, nhân vật thám tử hư cấu do nhà văn người Anh Conan Doyle sáng tạo nên. Sherlock Holmes đã làm say đắm biết bao tín đồ truyện trinh thám nhờ những màn phá án thần thánh với tài suy luận logic tuyệt vời cùng khả năng quan sát, diễn dịch và khoa học pháp y điêu luyện. Sherlock Homes đã được sách kỷ lục Guinness liệt kê vào danh sách nhân vật được khắc họa nhiều nhất trong văn học và điện ảnh. Danh tiếng toàn cầu của Conan Doyle gắn liền với Sherlock Homes thì ai cũng biết, nhưng nguồn gốc của tên gọi Sherlock Homes thì nhiều người chưa biết tới. Đó là bởi, nhà văn Conan Doyle có một người họ hàng xa có nghề làm khóa thông minh gia truyền. Thương hiệu khóa của người họ hàng này có tên là Sir Lock Home.
Gần đây, Sir Lock Home cho ra mắt một dòng sản phẩm khóa cửa nhà được hãng mệnh danh là "loại khóa an toàn nhất thế giới, thách thức mọi công nghệ phá khóa hiện đại nhất mọi thời đại". Đây là loại khóa số có thiết kế đặc biệt, với mật khẩu là một bảng gồm \(n\) hàng và \(m\) cột. Các hàng được đánh số từ \(1\) đến \(n\) theo thứ tự từ trên xuống dưới, các cột được đánh số từ \(1\) đến \(m\) theo thứ tự từ trái qua phải. Để nhập mật khẩu, người dùng cần điền một chữ số từ \(0\) đến \(9\) vào mỗi ô của bảng số này.
Thông thường, bạn sẽ nghĩ để mở khóa, người dùng cần nhập chính xác cả \(n \cdot m\) chữ số của bảng mật khẩu này. Nhưng hãng khóa Sir Lock Home không nghĩ như vậy. Họ cho rằng, nếu chỉ nhập và so sánh mật khẩu theo cách thông thường, khách hàng sẽ khó giữ kín mật khẩu. Chỉ cần chủ nhân vô tình để lộ bảng số mật khẩu cho người lạ nhìn thấy, mọi chốt an toàn coi như tan biến. Do đó, cơ chế bảo mật của loại khóa này được hãng Sir Lock Home thiết kế thông minh hơn, cụ thể như sau: Khi giao khóa cho khách hàng, Sir Lock Home đưa cho khách một bảng chữ số gồm \(n\) hàng và \(m\) cột, gọi là bảng cơ sở của khóa. Nếu chỉ nhập y nguyên bảng cơ sở này, khóa (có thể) sẽ không mở. Thay vào đó, người dùng sẽ phải thay đổi chữ số ở một số ô để bảng mật khẩu thỏa mãn các tính chất sau:
Sir Lock Home cho rằng, mặc dù mật khẩu để mở khóa không phải duy nhất, nhưng độ khó của bài toán tìm số ô tối thiểu cần thay đổi này sẽ làm nản lòng những tên đạo trích dốt thuật toán và khiến chúng từ bỏ ý đồ xâm phạm nhà bạn.
Nhưng bạn là một người đạt huy chương vàng IOI thì sao? Liệu bạn có thể tìm ra số ô tối thiểu cần thay đổi và chỉ ra một cách bất kỳ để mở khóa hay không? Hãy cùng thử tài phá loại khóa này nhé!
Vào từ file văn bản sirlockhome.inp:
Ghi ra file văn bản sirlockhome.out:
Nếu có nhiều phương án, bạn được phép đưa ra một phương án bất kỳ.
Với mỗi test, bạn được \(0.36\) điểm nếu tìm ra được số ô tối thiểu cần thay đổi, nhưng không tìm ra được phương án thay đổi tối ưu.
sirlockhome.inp8 2
22
07
19
97
19
97
07
22
sirlockhome.out6
02
07
19
67
69
77
87
92
Faker -- huyền thoại sống của Liên Minh Huyền Thoại luôn tỏa ra một khí chất lạnh lùng nhưng đầy uy lực. Trên sân khấu, ánh mắt anh sắc bén như thể nhìn thấu mọi bước đi của đối thủ. Những cú di chuyển chuẩn xác, những pha xử lý điêu luyện và tự tin biến Faker thành trung tâm của mọi ánh nhìn. Anh không cần khoa trương, chỉ bằng sự bình tĩnh và phong thái như một "quái vật thầm lặng", Faker khiến người xem vừa nể phục vừa bị cuốn hút. Trong khoảnh khắc quan trọng, khi cả thế giới dõi theo, anh như hóa thân thành "Quỷ Vương Bất Diệt", ung dung định đoạt trận đấu bằng vài thao tác gọn gàng, để rồi khán giả chỉ có thể thốt lên: "Đúng là Faker -- huyền thoại không có người thứ hai".
Mùa chung kết thế giới năm nay, Faker cùng T1 đứng trước cơ hội để viết tiếp một chương nữa cho cuốn tiểu thuyết Chúng tôi đã thống trị thế giới bằng cách nào, bằng việc dành chiếc Summoner's Cup thứ sáu cho SKT-T1, và là chức vô địch thứ ba liên tiếp. Chính vì lẽ đó, hai con số \(3\) và \(6\) được xem là thần số học của Faker năm nay. Trong bài toán này, ta hãy cùng khám phá một loại con số đặc biệt, được gọi là Faker number.
Một số nguyên không âm \(x\) được gọi là Faker Number khi và chỉ khi nó thỏa mãn hai điều kiện sau:
Tỷ lệ đối xứng của số nguyên không âm \(x\) được xác định như sau. Giả sử biểu diễn thập phân của \(x\) có dạng \(\chi_1 \chi_2 \ldots \chi_{\eta}\), vơi \(\eta\) là số chữ số của \(x\), \(\chi_1\) là chữ số lớn nhất \((\chi_1 > 0)\) và \(\chi_{\eta}\) là chữ số hàng đơn vị. Khi đó:
Ví dụ:
Bạn được cho một cây gồm \(n\) đỉnh. Các đỉnh được đánh số từ \(1\) đến \(n\). Gốc của cây là đỉnh \(1\). Mỗi đỉnh có giá trị là một số nguyên không âm. Ban đầu, giá trị của các đỉnh lần lượt là \(a_1, a_2, \ldots, a_n\). Bạn cần thực hiện \(q\) thao tác, mỗi thao tác thuộc một trong ba dạng sau:
Vào từ file văn bản fakernum.inp:
Ghi ra file văn bản fakernum.out: