Trò chơi ô chữ

Xem dạng PDF IDE

Gửi bài giải

Điểm: 3,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, , Pascal, PyPy, Python, Scratch

Trò chơi ô chữ được diễn ra trên bảng chữ hình chữ nhật kích thước m x n. Các dòng của bảng được đánh số từ 1 đến m, từ trên xuống dưới, các cột của bảng được đánh số từ 1 đến n, từ trái qua phải. Ô nằm trên giao của dòng i và cột j được gọi là ô (i, j). Mỗi ô của lưới chứa một ký tự.

Khi bắt đầu trò chơi, người chơi sẽ được cho một từ khóa P là một xâu ký tự và nhiệm vụ của người chơi là xuất phát từ ô (1,1), kết thúc tại ô (m,n) để tìm một đường đi trên bảng chữ chứa từ khóa P. Tại mỗi bước, người chơi có thể di chuyển sang ô kề cạnh bên phải hoặc sang ô kề cạnh bên dưới. Khi kết thúc trò chơi, người chơi nhận được một xâu ký tự T gồm các ký tự trong các ô trên đường đi được xếp liên tiếp nhau. Người chơi giành chiến thắng nếu từ khóa P xuất hiện trong xâu T, nghĩa là từ khóa P trùng với một đoạn gồm các ký tự liên tiếp trong T.

Yêu cầu

Cho bảng chữ và từ khóa P, đếm số lượng đường đi khác nhau giúp người chơi giành chiến thắng. Hai đường đi được gọi là khác nhau nếu tồn tại một ô thuộc đường đi này nhưng không thuộc đường đi kia.

Dữ liệu vào
  • Dòng đầu tiên ghi ba số nguyên dương m, n, D (D <= 10^9).
  • Dòng thứ hai chứa từ khóa P là một xâu gồm không quá m+n-1 chữ cái in hoa, mỗi chữ cái được lấy trong 26 chữ cái từ 'A' đến 'Z'.
  • Tiếp đến là m dòng mô tả bảng chữ, mỗi dòng một xâu gồm n ký tự, mỗi ký tự là một chữ cái in hoa trong 26 chữ cái từ 'A' đến 'Z'.
Dữ liệu ra
  • Một số là số lượng đường đi đếm được chia dư cho D.
Input
3 3 10
VOI
VOI
VVV
IOI
Output
3
Ràng buộc
  • Có 50% số test ứng với 50% số điểm của bài có m, n < 10.
  • Có 50% số test còn lại ứng với 50% số điểm của bài có m, n <= 100.

Bình luận

Hãy đọc nội quy trước khi bình luận.


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

Input
Output
Run