Giống như cái đề vậy, bài này liên quan đến sói và cừu.
Ông chủ chăn cừu nọ có một cách đồng để nuôi cừu. Cách đồng gồm nhiều ô nhỏ (mô phỏng mảng hai chiều ^^), mỗi ô này có thể có một con cừu đứng ở đó, một đống gai (để xếp tạo thành hàng rào) hoặc không có gì cả. Một hôm, ông chủ đi vắng, một bầy sói nọ đã đột nhập vào cách đồng bằng một cách không rõ nào đó. Vì cánh đồng có hàng rào chắn nên có thể được chia thành nhiều miền khác nhau. Trong mỗi miền đều có thể bị sói đột nhập.
a) Hãy xác định xem sói đã đột nhập vào mấy miền. (dễ ^^)
b) Trong mỗi miền, nếu số cừu ít hơn hoặc bằng số sói thì toàn bộ cừu sẽ bị ăn thịt sạch, ngược lại, nếu số cưu nhiều hơn thì chúng sẽ không bị ăn thịt. Hãy đếm xem có bao nhiêu con cừu bị ăn thịt.
c) Thực ra "cách không rõ nào đó" đã giúp các con sói đã đột nhập vào cách đòng là do một người xấu đặt vào (giả sử thế đi
). Người xấu này rất ghét ông chủ chăn cừu. Hãy tính xem số lượng cừu tối đa có thể bị giết chết bởi m con sói.
Dữ liệu vào của a và b:
File soivacuu.inp gồm một bản đồ dấu, dấu '.' tương trưng cho ko có gì cả, dấu '*' tượng trưng cho ô có rào gai, kí tự 'c' cho ô có cừu, kí tự 's' cho ô có sói. Lưu ý, mỗi ô trên cánh đồng chỉ được phép chứa một thứ duy nhất là rào gai, sói, cừu hoặc không có gì cả.
Dữ liệu ra đối với a và b là file soivacuu.out. Nếu câu a thì ghi 1 dòng duy nhất là số miền bị sói đột nhập. Nếu là câu b thì ghi 1 dòng duy nhất là một số biểu thị số cừu bị ăn thịt.
Dữ liệu vào của câu c là file batcuu.inp dồm một bản đồ dấu: dấu '.' nếu là ô trống, kí tự 'c' nếu chứa cừu, dấu '*' nếu chứa rào gai.
Dữ liệu ra của câu c là file batcuu.out ghi 1 dòng biểu thị số cừu tối đa có thể bị ăn thịt.