trang chủ / bài tập / gameparts

Trò chơi

Đề bài

Mô tả

Một trò chơi gồm n phần. Để hoàn thành một phần, có thể cần phải hoàn thành trước một số phần khác. Các quan hệ phụ thuộc này không tạo thành chu trình, nên luôn có thể chơi hết toàn bộ trò chơi.

Bạn có 3 chiếc máy tính đặt ở ba nơi khác nhau, đánh số từ 1 đến 3. Mỗi phần của trò chơi chỉ có thể được hoàn thành trên đúng một trong ba máy tính.

Các thao tác cho phép, mỗi thao tác tốn đúng thời gian ghi kèm:

  • Hoàn thành một phần bất kỳ trên máy đang đứng: 1 giờ (chỉ được làm khi mọi phần mà nó phụ thuộc đã hoàn thành).
  • Di chuyển 12: 1 giờ. Di chuyển 23: 1 giờ. Di chuyển 31: 1 giờ.
  • Di chuyển 13: 2 giờ. Di chuyển 32: 2 giờ. Di chuyển 21: 2 giờ.

Ban đầu bạn được tự chọn đứng ở máy tính bất kỳ. Hãy tìm số giờ ít nhất để hoàn thành toàn bộ các phần của trò chơi.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số phần của trò chơi.
  • Dòng thứ hai chứa n số nguyên, số thứ ici (1ci3) là máy tính có thể hoàn thành phần i.
  • n dòng tiếp theo mô tả các phần: dòng thứ i bắt đầu bằng số nguyên ki (0kin1), sau đó là ki số nguyên phân biệt ai,j (1ai,jn; ai,ji) là các phần phải hoàn thành trước phần i.

Đảm bảo không có phụ thuộc vòng giữa các phần.

Dữ liệu ra

Một số nguyên duy nhất: số giờ ít nhất cần thiết.

Ràng buộc

  • 1n200
  • 1ci3
  • 0kin1

Ví dụ

Input Output Giải thích
1
1
0
1 Chỉ có một phần trên máy 1, không phụ thuộc gì. Đứng ngay ở máy 1 và hoàn thành nó: 1 giờ.
5
2 2 1 1 3
1 5
2 5 1
2 5 4
1 5
0
7 Đứng ở máy 3, hoàn thành phần 5 (1 giờ). Sang máy 1 (1 giờ), hoàn thành phần 34 (2 giờ). Sang máy 2 (1 giờ), hoàn thành phần 12 (2 giờ). Tổng 1+1+2+1+2=7 giờ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0