Giấc mơ băng

Xem dưới dạng PDF

Gửi bài giải

Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Một thời gian trước, Mirko đã thành lập một công ty du lịch mới có tên là "Dreams of Ice". Công ty này đã mua N hòn đảo băng gần Nam Cực và hiện cung cấp các chuyến du ngoạn. Đặc biệt, loài chim cánh cụt hoàng đế rất phổ biến và có thể được tìm thấy với số lượng lớn trên các hòn đảo này.

Công ty của Mirko đã trở nên rất nổi tiếng; đến mức việc sử dụng thuyền để di chuyển giữa các đảo đã không còn hiệu quả về mặt chi phí. Công ty sẽ xây cầu giữa các đảo và vận chuyển khách du lịch bằng xe buýt. Mirko muốn giới thiệu một chương trình máy tính để quản lý quá trình xây cầu nhằm giảm thiểu những sai sót.

Các hòn đảo được đánh số từ 1 đến N. Không có hòn đảo nào ban đầu được kết nối với nhau bằng cầu. Số lượng chim cánh cụt trên mỗi hòn đảo là cố định. Con số này có thể thay đổi, nhưng luôn nằm trong khoảng từ 0 đến 1000 (bao gồm cả hai đầu).

Chương trình của bạn phải xử lý ba loại lệnh sau đây:

"bridge A B" – có một đề nghị xây cầu giữa đảo AB (AB sẽ khác nhau). Để giảm chi phí, chương trình của bạn chỉ được chấp nhận đề nghị nếu chưa có cách nào để đi từ đảo này sang đảo kia bằng cầu đã xây trước đó. Nếu đề nghị được chấp nhận, chương trình nên xuất "yes", sau đó cây cầu sẽ được xây. Nếu đề nghị bị từ chối, chương trình nên xuất "no".

"penguins A X" – số lượng chim cánh cụt trên đảo A đã được kiểm lại và hiện tại có X con. Đây là một lệnh cung cấp thông tin và chương trình của bạn không cần phản hồi.

"excursion A B" – một nhóm du khách muốn có một chuyến tham quan từ đảo A đến đảo B. Nếu chuyến tham quan có thể thực hiện được (tức là có thể đi từ đảo A đến B), chương trình nên xuất tổng số chim cánh cụt mà du khách sẽ nhìn thấy trong chuyến tham quan (bao gồm cả các đảo AB). Nếu không, chương trình nên xuất "impossible".

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên N (1N30000), số lượng đảo.
  • Dòng thứ hai chứa N số nguyên nằm trong khoảng từ 0 đến 1000, số lượng chim cánh cụt ban đầu ở mỗi đảo.
  • Dòng thứ ba chứa số nguyên Q (1Q300000), số lượng câu lệnh.
  • Q lệnh theo sau đó, mỗi lệnh trên 1 dòng.

Dữ liệu ra

  • Trả lời cho các câu lệnh "bridge" và "excursion", mỗi câu trên 1 dòng.

Input 1

Sao chép
5
4 2 4 5 6
10
excursion 1 1
excursion 1 2
bridge 1 2
excursion 1 2
bridge 3 4
bridge 3 5
excursion 4 5
bridge 1 3
excursion 2 4
excursion 2 5

Output 1

Sao chép
4
impossible
yes
6
yes
yes
15
yes
15
16

Nhận xét

Không có ý kiến tại thời điểm này.