JOI 2016 - Territory

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: 2400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một thành phố có vô số đường thẳng song song theo hướng bắc-nam và đông-tây, khoảng cách giữa hai đường kề nhau là 1 km. Tòa thị chính ở giao lộ \((0,0)\); giao lộ \((i,j)\) nằm cách đó \(i\) km về đông và \(j\) km về bắc, với giá trị âm chỉ hướng ngược lại.

Một chú chó tên Joy lập kế hoạch đi dạo trong \(K\) ngày:

  • Sáng ngày đầu, Joy ở \((0,0)\) và đánh dấu giao lộ này.
  • Mỗi trưa, Joy thực hiện cùng một chuỗi \(N\) bước. Mỗi bước đi tới một giao lộ kề cạnh và đánh dấu nơi tới.
  • Sau chuỗi bước, Joy ngủ tại vị trí hiện tại tới sáng hôm sau.

Ô vuông có bốn đỉnh \((a,b),(a+1,b),(a+1,b+1),(a,b+1)\) thuộc lãnh thổ của Joy nếu cả bốn giao lộ đều đã được đánh dấu ít nhất một lần. Hãy tính số ô thuộc lãnh thổ sau \(K\) ngày.

Dữ liệu vào

  • Dòng 1 chứa \(N,K\).
  • Dòng 2 chứa xâu \(S\) dài \(N\). Ký tự thứ \(p\)E, N, W, hoặc S, tương ứng đi sang đông, bắc, tây, nam ở bước \(p\).

Dữ liệu ra

In ra số ô thuộc lãnh thổ của Joy.

Ràng buộc

  • \(1\le N\le100000\).
  • \(1\le K\le10^9\).

Phân nhóm

  • Nhóm 1 (5 điểm): \(N\le50\), \(K=1\).
  • Nhóm 2 (10 điểm): \(K=1\).
  • Nhóm 3 (23 điểm): \(N\le50\).
  • Nhóm 4 (62 điểm): không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
12 1
EENWSEEESWWS
Output
3
Giải thích

Joy đi trong một ngày và tạo ra 3 ô lãnh thổ.

Ví dụ 2

Input
12 2
EENWSEEESWWS
Output
7
Giải thích

Mỗi ngày Joy đi cùng lộ trình như ví dụ 1; sau hai ngày có 7 ô lãnh thổ. Ví dụ này không thỏa nhóm 1 hoặc 2.

Ví dụ 3

Input
7 1
ENNWNNE
Output
0

Ví dụ 4

Input
16 5
WSESSSWWWEEENNNW
Output
21
Giải thích

Ví dụ 4 không thỏa nhóm 1 hoặc 2.

Nguồn

Kỳ thi chung kết Olympic Tin học Nhật Bản 2015/2016, bài 4.

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: