Sơn nhà

View as PDF

Submit solution

Points: 200.00
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type

Ngôi nhà có N căn phòng (đánh số từ 1 đến N) đã được sơn với màu trắng, xanh hoặc vàng. Có N robot (đánh số từ 1 đến N), mỗi robot được cài đặt để sơn một số phòng nhất định (tức là khi gọi 1 robot sơn thì chúng sơn tất cả những phòng đã được cài đặt). Một robot có thể sơn 1 hoặc nhiều phòng; một phòng có thể được sơn bởi một hoặc một số robot khác.

Việc sơn các phòng được thực hiện theo qui tắc:

  • Nếu phòng đang có màu trắng thì sơn thành màu xanh
  • Nếu phòng đang có màu xanh thì sơn thành màu vàng
  • Nếu phòng đang có màu vàng thì sơn thành màu trắng

Trong dịp sửa chữa nhà lần này, người quản lý ngôi nhà muốn tất cả các phòng đều sơn màu trắng.

Yêu cầu: Bố trí ít nhất số lượt robot sơn sao cho N phòng của ngôi nhà hoàn toàn màu trắng.

Dữ liệu vào:

  • Dòng đầu tiên ghi số nguyên dương ~N (N<100)~.
  • Dòng thứ 2: Ghi dãy N kí tự, kí tự thứ i chỉ màu của phòng thứ i (màu xanh: X, màu trắng: T , màu vàng: V).
  • N dòng tiếp theo, dòng thứ i ghi danh sách các phòng mà robot thứ i sơn; các số trên dòng cách nhau một khoảng trắng.

Kết quả ra:

Một dòng duy nhất ghi số nguyên k chỉ tổng số lần gọi robot sơn. Nếu không có phương án sơn thì ghi số 0.

Ví dụ:
INPUT
5
XXTVX
1 2
4
5
1 5
2
OUTPUT
5

Robot 1 được cài đặt sơn phòng số 1,2

Robot 2 được cài đặt sơn phòng số 4. ....

Kết quả: Có thể xay ra một trong 2 trường hợp sau: robot 1 và 3 được gọi 2 lần; robot 2 gọi 1 lần , tổng 5 lần gọi hoặc robot 4 và 5 được gọi 2 lần; robot 2 gọi 1 lần, tổng 5 lần gọi


Comments

Please read the guidelines before commenting.


There are no comments at the moment.