| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | JOI 2014 - JOIOJI | 100 (p) | 1.0s | 256M |
| 2 | JOI 2014 - Scarecrows | 100 (p) | 4.0s | 256M |
| 3 | JOI 2014 - Voltage | 100 (p) | 1.0s | 256M |
JOIOJI là chú của cậu bé JOI. Ông rất thích tên của mình vì tên ấy chứa đúng hai chữ cái J, hai chữ cái O và hai chữ cái I.
Gần đây, JOIOJI vừa có một người con. Ông muốn đặt cho con một cái tên giống tên mình: chỉ gồm các chữ cái J, O, I, với số lần xuất hiện của ba chữ cái bằng nhau.
JOIOJI có một cuộn giấy được truyền lại qua nhiều đời trong gia đình. Trên cuộn giấy có một bài thơ. Bài thơ là một xâu độ dài \(N\), chỉ gồm ba loại chữ cái J, O, I. JOIOJI định chọn xâu con liên tiếp dài nhất trong bài thơ mà số lần xuất hiện của J, O, I bằng nhau để đặt tên cho con mình.
Cho thông tin về bài thơ trên cuộn giấy của JOIOJI. Hãy viết chương trình tìm độ dài lớn nhất của một xâu con liên tiếp trong bài thơ mà số lần xuất hiện của J, O, I bằng nhau.
Đọc dữ liệu từ đầu vào chuẩn theo định dạng sau:
J, O hoặc I.Ghi ra đầu ra chuẩn một dòng chứa một số nguyên: độ dài lớn nhất của một xâu con liên tiếp trong bài thơ mà số lần xuất hiện của J, O, I bằng nhau. Nếu không tồn tại xâu con như vậy, in ra \(0\).
Tất cả dữ liệu vào đều thỏa mãn:
Ví dụ 1
10
JOIIJOJOOI
6
Trong ví dụ này, cuộn giấy ghi bài thơ JOIIJOJOOI có độ dài \(10\).
Bài thơ chứa xâu con liên tiếp IIJOJO, trong đó mỗi chữ cái J, O, I xuất hiện đúng hai lần. Không có xâu con liên tiếp nào mà mỗi chữ cái J, O, I xuất hiện với số lần bằng nhau và ít nhất ba lần. Vì vậy, in ra \(6\), là độ dài của IIJOJO.
Ví dụ 2
8
IOIIJIIO
0
Bài thơ không chứa xâu con nào thỏa mãn điều kiện, nên in ra \(0\).
Ví dụ 3
20
JJIOOIJIJOIOJIOJOOIJ
15
Trên một vùng đất hoang rộng lớn ở làng JOI có \(N\) con bù nhìn. Mỗi năm vài lần, dân làng lại quây quần quanh những con bù nhìn để tổ chức lễ hội. Một hôm, trưởng làng JOI nói rằng mình đã nghe được lời phán truyền của những con bù nhìn và lập kế hoạch tạo một thửa ruộng trên vùng đất hoang. Theo lời phán truyền, thửa ruộng phải thỏa mãn các điều kiện sau:
Tất nhiên, không được phép di chuyển những con bù nhìn quý giá này. Có bao nhiêu vị trí đặt thửa ruộng thỏa mãn lời phán truyền?
Cho vị trí của các con bù nhìn. Hãy viết chương trình tìm số vị trí đặt thửa ruộng thỏa mãn lời phán truyền.
Đọc dữ liệu từ đầu vào chuẩn theo định dạng sau:
Ghi ra đầu ra chuẩn một dòng chứa số vị trí đặt thửa ruộng thỏa mãn lời phán truyền.
Tất cả dữ liệu vào đều thỏa mãn:
Ví dụ 1
4
0 0
2 2
3 4
4 3
3
Trong ví dụ này, có ba vị trí đặt thửa ruộng thỏa mãn lời phán truyền như sau (được minh họa trong hình bên dưới):
Bạn có biết công ty Just Odd Inventions không? Công việc của công ty này là tạo ra “những phát minh kỳ quặc” (just odd inventions). Trong bài này, ta gọi tắt là công ty JOI.
Trong một phòng thí nghiệm của công ty JOI có một mạch điện phức tạp. Mạch điện gồm \(N\) nút và \(M\) điện trở dài, mảnh. Các nút được đánh số từ \(1\) đến \(N\). Mỗi nút có thể được đặt ở một trong hai trạng thái: “điện áp cao” hoặc “điện áp thấp”. Mỗi điện trở nối hai nút và có dòng điện chạy qua khi một trong hai nút ở trạng thái “điện áp cao”, còn nút kia ở trạng thái “điện áp thấp”. Không có dòng điện chạy qua điện trở nối hai nút cùng ở trạng thái “điện áp cao” hoặc cùng ở trạng thái “điện áp thấp”.
Một ngày nọ, để bảo trì mạch điện này, công ty JOI quyết định chọn một điện trở và đặt điện áp cho từng nút sao cho chỉ điện trở được chọn không có dòng điện chạy qua, còn \(M - 1\) điện trở còn lại đều có dòng điện chạy qua. Có bao nhiêu điện trở có thể được chọn làm điện trở không có dòng điện chạy qua để thỏa mãn điều kiện này?
Công ty JOI đang dùng mạch điện kỳ quặc này để tạo ra phát minh gì là bí mật tuyệt đối ngay cả trong nội bộ công ty; ngoài giám đốc ra, không ai biết được.
Cho thông tin về mạch điện. Hãy viết chương trình tìm số điện trở có thể được chọn làm điện trở không có dòng điện chạy qua khi bảo trì.
Đọc dữ liệu từ đầu vào chuẩn theo định dạng sau:
Ghi ra đầu ra chuẩn một dòng chứa số điện trở có thể được chọn làm điện trở không có dòng điện chạy qua khi bảo trì.
Tất cả dữ liệu vào đều thỏa mãn:
Ví dụ 1
4 5
1 2
1 3
1 4
2 4
3 4
1
Trong ví dụ này, có thể làm cho chỉ điện trở thứ \(3\) không có dòng điện chạy qua. Chẳng hạn, đặt nút \(1\) và nút \(4\) ở trạng thái “điện áp cao”, còn nút \(2\) và nút \(3\) ở trạng thái “điện áp thấp”. Điện trở thứ \(3\) nối nút \(1\) với nút \(4\), nên không có dòng điện chạy qua điện trở thứ \(3\).
Không thể chọn điện trở nào ngoài điện trở thứ \(3\) làm điện trở không có dòng điện chạy qua khi bảo trì.
Ví dụ 2
4 4
1 2
2 3
3 2
4 3
2
Ví dụ 3
13 16
1 6
2 6
3 1
3 2
4 7
4 7
5 9
6 5
8 2
8 13
9 11
10 3
11 10
11 12
12 8
13 6
3