Skip to content

Instantly share code, notes, and snippets.

@tvhong
Last active December 27, 2015 20:39
Show Gist options
  • Save tvhong/7386052 to your computer and use it in GitHub Desktop.
Save tvhong/7386052 to your computer and use it in GitHub Desktop.
COCI 2013, 2nd time, vietnamese translation
Một phần rất thú vị về việc đi lễ nhà thờ là khi mọi người chúc bình an cho nhau. Họ bắt tay vào bảo nhau "chúc bình an". Mirko rất thích tục lệ này và muốn bắt tay càng nhiều người càng tốt.
Bên trong nhà thờ, có R hàng ghế, mỗi hàng có thể chứa tối đa S người. Ta có thể tưởng tượng những hàng ghế như 1 lưới ô vuông với kích thước RxS, mỗi ô vuông sẽ đại diện một chỗ ngồi, có thể có người hoặc không. Ta giả sử mỗi người bắt tay tất cả những người bên cạnh. Như vậy, mỗi người có thể bắt tay với tối đa 8 người (xem hình).
Sơ đồ vị trí chỗ ngồi của mọi người đã được đưa cho Mairko từ trước. Còn Mirko thì, dĩ nhiên, đi trễ lễ sáng và sẽ ngồi vào một chỗ trống nơi mà anh ta có thể bắt tay với nhiều người nhất. Nếu không còn chỗ trống nào thì Mirko đành đi về và chờ tới lễ buổi tối. Ta giả sử không có ai đến sau khi Mirko vào nhà thờ.
Tính _tổng_ số lượng bắt tay được thực hiện trong buổi lễ sáng hôm đó.
INPUT:
Dòng đầu tiên chưa 2 số nguyên dương R và S (1<=R,S<=50)
R dòng tiếp theo, mỗi dòng chứa S kí tự. Những dòng này đại diện cho người tham dự thánh lễ sáng hôm đó. Kí tự '.'(dấu chấm) đại diện cho một chỗ trống và một kí tự 'o' (chữ cái o viết thường) đại diện cho một người.
OUTPUT:
Dòng duy nhất ghi số lượng bắt tay trong buổi lễ sáng hôm đó.
ĐIỂM:
20% số test, R = 1
20% số test, R = 2
20% số test, nhà thờ sẽ đầy người, nói cách khác, toàn bộ chỗ đều có người ngồi.
SAMPLE TESTS:
....
....
Về ví dụ 1: Mirko sẽ ngồi một chỗ có thể bắt tay với cả 2 người còn lại.
Marin lúc nào cũng dùng tạo test case cho cuộc thi coci. Nhưng anh ta không tài nào giải quyết được một vấn đề. Việc này dẫn đến tình trạng suy sụp tâm lý và anh ta không thể nhìn rõ được nữa. Mỗi lần anh nháy mắt là các chữ cái cứ bay loạn xạ cả lên. Tuy nhiên, các chữ cái bay rất có thứ tự. Thứ tự nó là thế này:
- Chữ cái cuối cùng sẽ bay vào giữa chữ cái thứ nhất và thứ hay
- Chữ cái áp chót sẽ bay vào giữa chữ cái thứ 2 và thứ 3.
- Chữ cái thứ k đếm từ cuối sẽ bay vào giữa chữ cái thứ k và k + 1.
Chỉ những chữ cái ở phần sau mới bay thôi. Nếu dòng chữ có độ dài lẽ thì phần đuôi sẽ là ngắn hơn.
Ví dụ, chữ "abcdef" sẽ thành "afbecd" sau một lần nháy mắt.
Nếu Marin nháy mắt lần nữa thì chuyện tương tự lại xảy ra, vậy là chữ bên trên sẽ biến thành "adfcbe".
Marin quyết định viết 1 chương trình giúp anh ấy "đọc" cái gì đang hiện ra trên màn hình. Nhưng anh ấy quá mệt (mất sức, làm cái gì ấy nhở ;) ) nên nhờ bạn giúp. Bạn được cho X, số lần nháy mắt và từ mà Marin nhìn thấy trên màn hình. Viết 1 chương trình để biết xem từ thực sự đang hiện trên màn hình trước khi Marin nháy mắt X lần.
INPUT:
Dòng đầu tiên chứa 1 số nguyên dương X (1<=X<=1 000 000 000), số lần mà Marin nháy mắt.
Dòng thứ 2 chứa từ mà Marin nhìn thấy, có độ dài từ 3 đến 1000 kí tự (bao hàm cả 3 và 1000). Từ chỉ bao gồm những kí tự viết thường trong bảng chữ cái tiếng Anh.
OUTPUT:
1 dòng duy nhất chứa từ mà thực sự hiện ra trên màn hình (trước khi Marin nháy mắt X lần).
SCORING:
50 điểm trong số test, X <= 100
SAMPLE TESTS:
....
Về ví dụ 1: từ được thay đổi như vầy: abcdef, afbecd, adfcbe, aedbfc, acefdb
SỬA ĐỔI:
Ở câu:" và 1 kí tự duy nhất: Z ('T', 'F', hoặc 'S') là kết quả của câu trả lời"
3 kí tự không phải là 'T', 'F', 'S' mà là 'T' (true, đúng), 'N' (false, sai) và 'P'(pass, bỏ qua)
ĐỀ BÀI:
Nước Croatia tổ chức một chương trình tivi tên gọi "Tôi yêu Croatia". Trong chương trình này, 2 đội gồm những nhân vật nổi tiếng sẽ tham gia các trò chơi thử thách kiến thức về Croatia. Một trong những trò chơi này là Happby Birthday, được dùng trong phần thi này, mặc dù có bị thay đổi đôi chút.
8 người chơi đánh số từ 1 đến tới được đặt ngồi trong 1 vòng tròn (xem hình bên).
Người chơi sẽ truyền nhau một cái hộp "phát nổ", cái hộp sẽ phát nổ sau 3'30s tính từ khi trò chơi bắt đầu. Người cầm chiếc hộp lúc nó phát nổ sẽ phải rời cuộc chơi.
Trò chơi bắt đầu với một người cầm chiếc hộp. Nếu người chơi trả lời câu hỏi sai(incorrect) hoặc bỏ qua câu hỏi (skip), người đó sẽ được đưa cho câu hỏi kế tiếp. Nếu người chơi trả lời đúng, anh ta sẽ truyền cái hộp sang cho người ngồi ngay bên trái anh ta và người đó sẽ được hỏi câu hỏi kế tiếp.
Bạn được cho một số là số của người đầu tiên cầm chiếc hộp và kết quả của N câu hỏi đâu tiên. Cho biết người sẽ bị loại trong cuộc chơi. Kết quả của các câu hỏi sẽ có định dạng sau: thời gian từ khi câu hỏi được hỏi cho tới khi có câu trả lời và câu trả lời là đúng (T), sai(F) hay bỏ qua(S). Giả sử thời gian đọc câu hỏi và thời gian đọc ra câu trả lời không đáng kkhông đáng kể, thời gian truyền hộp cũng không đáng kể. Cái hộp chắc chắn sẽ nổ vào lượt của 1 người nào đó.
INPUT:
Dòng đầu tiên chứa 1 số nguyên K là số thứ tự của người chơi cầm hộp đầu tiên
Dòng thứ 2 chứa 1 số nguyên N (1<=N<=100) là số câu hỏi đã được hỏi trong trò chơi
N dòng tiếp theo, mỗi dòng chứa 1 số nguyên dương T (1<=T<=100), thời gian từ khi câu hỏi thứ i được hỏi cho tới khi câu trả lời được đưa ra, tính bằng giây, và 1 kí tự duy nhất: Z ('T', 'F', hoặc 'S') là kết quả của câu trả lời.
OUTPUT:
Dòng đầu tiên và duy nhất chứa một số là số kí hiệu của người chơi cầm hộp khi chiếc hộp bị nổ.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment