Google Code Jam 2016 - BFFs

Xem PDF




Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Bạn là giáo viên tại trường mẫu giáo Little Coders mới mở. Lớp có \(N\) em, mỗi em có một mã học sinh khác nhau từ 1 đến \(N\). Mỗi em có đúng một người bạn thân nhất (BFF), và bạn biết BFF của từng em. Quan hệ này không nhất thiết hai chiều: B là BFF của A không có nghĩa A là BFF của B.

Kế hoạch bài học ngày mai có một hoạt động mà người tham gia phải ngồi thành vòng tròn. Bạn muốn tạo vòng tròn lớn nhất có thể sao cho mỗi em ngồi ngay cạnh BFF của mình, ở bên trái hoặc bên phải. Những em không ở trong vòng sẽ chỉ quan sát.

Số trẻ lớn nhất có thể ngồi trong vòng là bao nhiêu?

Dữ liệu vào

Dòng đầu chứa \(T\). Mỗi bộ test gồm hai dòng. Dòng đầu là \(N\), tổng số trẻ. Dòng thứ hai chứa \(N\) số \(F_1,F_2,\ldots,F_N\), trong đó \(F_i\) là mã học sinh của BFF của em có mã \(i\).

Dữ liệu ra

Với mỗi bộ test, in Case #x: y, với \(x\) bắt đầu từ 1 và \(y\) là số trẻ lớn nhất có thể xếp thành vòng sao cho mỗi em ngồi cạnh BFF của mình.

Ràng buộc

  • \(1\le T\le100\).
  • \(1\le F_i\le N\) với mọi \(i\).
  • \(F_i\ne i\) với mọi \(i\) (không ai là BFF của chính mình).

Phân nhóm

  • Test Set 1 (Visible): \(3\le N\le10\).
  • Test Set 2 (Hidden): \(3\le N\le1000\).

Điểm các phân nhóm

Mỗi Test Set tương ứng với một subtask trên LQDOJ. Bảng dưới đây giữ nguyên điểm chính thức của Google Code Jam và quy đổi tỷ lệ trên tổng điểm của bài.

Phân nhóm Điểm Google Code Jam Tỷ lệ điểm của bài
Test Set 1 16/45 35,56%
Test Set 2 29/45 64,44%

Ví dụ

Ví dụ 1

Input
4
4
2 3 4 1
4
3 3 4 1
4
3 3 4 3
10
7 8 10 10 9 2 9 6 3 3
Output
Case #1: 4
Case #2: 3
Case #3: 3
Case #4: 6
Giải thích

Ở trường hợp #4, vòng lớn nhất có thể xếp theo thứ tự 7 9 3 10 4 1. Mọi phép quay hoặc phản chiếu vòng này cũng hợp lệ. Em số 1 ngồi cạnh em số 7 như yêu cầu vì danh sách biểu diễn một vòng tròn.

Nguồn

Google Code Jam 2016, Vòng 1A, bài BFFs.

Nguồn chính thức trên Google Coding Competitions Archive, phát hành theo giấy phép Apache-2.0.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: