USACO 2015 - Palindromic Paths (Bronze)

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trang trại của Farmer John có dạng một lưới gồm \(N \times N\) ô đồng (\(2 \le N \le 18\)), mỗi ô được ghi một chữ cái trong bảng chữ cái. Ví dụ:

ABCD
BXZX
CDXB
WCBA

Mỗi ngày, cô bò Bessie đi từ ô trên cùng bên trái đến ô dưới cùng bên phải; ở mỗi bước, cô đi sang ô ngay bên phải hoặc xuống ô ngay bên dưới. Bessie ghi lại chuỗi được tạo nên trong quá trình này từ các chữ cái trên những ô cô đi qua. Tuy nhiên, cô sẽ mất phương hướng nếu chuỗi đó là một palindrome (đọc xuôi và đọc ngược giống nhau), vì cô bối rối không biết mình đã đi theo hướng nào.

Hãy giúp Bessie xác định số palindrome khác nhau mà cô có thể tạo ra trong chuyến đi. Các cách khác nhau tạo ra cùng một palindrome chỉ được tính một lần; chẳng hạn, có nhiều đường đi tạo ra palindrome ABXZXBA trong ví dụ trên, nhưng Bessie chỉ có thể tạo ra bốn palindrome phân biệt: ABCDCBA, ABCWCBA, ABXZXBA, ABXDXBA.

Dữ liệu vào

Dòng đầu tiên chứa \(N\), và \(N\) dòng còn lại chứa \(N\) hàng của lưới ô đồng. Mỗi hàng chứa \(N\) ký tự trong khoảng từ A đến Z.

Dữ liệu ra

In số palindrome phân biệt mà Bessie có thể tạo ra.

Ví dụ

Ví dụ 1

Input
4
ABCD
BXZX
CDXB
WCBA
Output
4

Nguồn

USACO 2015 US Open, Bronze — Palindromic Paths (Bronze). Tác giả đề: Brian Dean, 2015.

https://usaco.org/index.php?page=viewproblem2&cpid=548

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: