[MTTN] Excel

Xem PDF

Nộp bài


Điểm: 10 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Xét một bảng tính (ở định dạng Microsoft Excel hoặc Google Sheet) bao gồm \(m\) hàng và \(n\) cột. Các hàng được đánh số liên tiếp từ \(1\) và các cột được ký hiệu bằng các chữ cái liên tiếp A, B, C,... (dữ liệu đảm bảo bảng tính có không quá \(9\) hàng và \(26\) cột). Mỗi ô của bảng tính là giao điểm của một hàng và một cột nhất định, đồng thời được ký hiệu bằng chữ cái tượng trưng cho cột đi liền với chữ số tượng trưng cho hàng đó. Ví dụ: ô nằm giao giữa hàng \(2\) và cột B sẽ được ký hiệu là B2. Trên mỗi ô ta viết một số nguyên không âm như hình minh họa dưới đây:

Nhiệm vụ của bạn là lập trình tính chính xác giá trị của \(Q\) biểu thức phân biệt, mỗi biểu thức sẽ có dạng \(f(x,y)\), trong đó \(f=\text{MAX}\) (tượng trưng cho hàm lấy giá trị lớn nhất) hoặc \(f=\text{SUM}\) (tượng trưng cho hàm tính tổng), \(x\) sẽ là ký hiệu tọa độ của một ô hoặc một biểu thức hợp lệ khác (tương tự với \(y\)). Như trên hình minh họa, nếu ta tính giá trị biểu thức \(\text{MAX}(\text{A1}, \text{B2})\) thì kết quả nhận được là \(5\). Xét một biểu thức phức tạp hơn là \(\text{SUM}(\text{C4},\text{MAX}(\text{C2},\text{C3}))\), ta có thể biến đổi nó về dạng tương đương là \(\text{SUM}(2,6)\) để nhận được kết quả là \(8\).

Input
  • Dòng đầu chứa hai số nguyên dương \(m\) và \(n\) (\(1\leq m\leq 9\) và \(1\leq n\leq 26\)).
  • Dòng thứ \(i\) trong \(m\) dòng tiếp theo chứa \(n\) số nguyên không âm mô tả giá trị các ô tại hàng thứ \(i\) của bảng tính. Dữ liệu đảm bảo các số đều không vượt quá \(1000\).
  • Dòng tiếp theo chứa số nguyên dương \(Q\) (\(1 \leq Q \leq 10\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một xâu ký tự thể hiện biểu thức cần tính. Dữ liệu đảm bảo các xâu đều không chứa dấu cách và có độ dài không vượt quá \(1000\).
Output
  • Gồm \(Q\) dòng chứa \(Q\) kết quả tìm được theo trình tự trong input.
Scoring
  • Subtask \(1\) (\(80\%\) số điểm): Mỗi biểu thức trong \(Q\) biểu thức được cho đều có dạng \(\text{SUM}(a, b)\) hoặc \(\text{MAX}(c, d)\), trong đó \(a\), \(b\), \(c\), \(d\) là ký hiệu cho một ô nào đó trong bảng tính.
  • Subtask \(2\) (\(20\%\) số điểm): Không có ràng buộc gì thêm.
Ví dụ
Sample input 01
4 3
2 1 9
1 5 3
4 3 6
3 2 2
3
SUM(A1,B2)
MAX(A1,B2)
SUM(C4,C1)
Sample output 01
    7
    5
    11
Giải thích

Giá trị các biểu thức cần tính là:

  • \(\text{SUM}(\text{A1},\text{B2}) = 2 + 5 = 7\)
  • \(\text{MAX}(\text{A1},\text{B2}) = \text{MAX}(2, 5) = 5\)
  • \(\text{SUM}(\text{C4},\text{C1}) = 2 + 9 = 11\)
Sample input 02
4 3
2 1 9
1 5 3
4 3 6
3 2 2
2
SUM(MAX(A1,B2),SUM(C3,C4))
SUM(C4,MAX(C2,C3))
Sample output 02
13
8