Xâu lệnh WASD

Đề bài

Mô tả

Bạn có một xâu s gồm các lệnh điều khiển cho một con robot đồ chơi đặt trên một lưới ô vuông. Robot hiểu bốn lệnh:

  • W: đi lên một ô;
  • S: đi xuống một ô;
  • A: sang trái một ô;
  • D: sang phải một ô.

Gọi Grid(s) là lưới hình chữ nhật có diện tích nhỏ nhất sao cho có thể đặt robot vào một ô nào đó của lưới rồi cho nó thực hiện toàn bộ dãy lệnh s mà không bao giờ đi ra khỏi lưới. Diện tích của lưới là (số hàng) × (số cột).

Bạn có thêm bốn chữ cái dự phòng: một chữ W, một chữ A, một chữ S và một chữ D. Bạn được phép chèn nhiều nhất một trong bốn chữ cái đó vào một vị trí bất kỳ của xâu s (hoặc không chèn gì).

Hãy tìm diện tích nhỏ nhất của Grid(s) có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên T: số truy vấn.
  • T dòng tiếp theo, mỗi dòng chứa một xâu s gồm các ký tự thuộc {W,A,S,D}.

Dữ liệu ra

In ra T dòng, mỗi dòng là diện tích nhỏ nhất của Grid(s) đạt được cho truy vấn tương ứng.

Ràng buộc

  • 1≤T≤1000
  • 1≤|s|≤2·105
  • Tổng độ dài của tất cả các xâu s không vượt quá 2·105.

Ví dụ

Input Output Giải thích
3
DSAWWAW
D
WA
8
2
4
Truy vấn 1: chèn thêm D để được DSAWWDAW, lưới nhỏ nhất là 4×2=8. Truy vấn 2 và 3: không thể giảm diện tích.
4
W
A
S
D
2
2
2
2
Mỗi xâu chỉ có một bước; lưới tối thiểu là 2×1, không thể giảm thêm.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0