trang chủ / bài tập / fafamath

Fafa và Toán học cổ đại

Đề bài

Mô tả

Một biểu thức Ahmes được định nghĩa đệ quy như sau:

  • Một chữ số d (từ 1 đến 9) là một biểu thức Ahmes.
  • Nếu E1E2 là hai biểu thức Ahmes hợp lệ và op là một trong hai phép toán cộng (+) hoặc trừ () thì (E1opE2) cũng là một biểu thức Ahmes.

Ví dụ 5, (11)((1+(23))5) đều là các biểu thức Ahmes hợp lệ.

Trên một mảnh giấy cũ có ghi một biểu thức Ahmes, nhưng theo thời gian toàn bộ các dấu phép toán đã bị xóa, chỉ còn lại các chữ số và các dấu ngoặc. Mỗi vị trí từng có dấu phép toán nay được thay bằng ký tự ?.

Cho biết số dấu cộng P và số dấu trừ M trong biểu thức gốc, hãy điền P dấu +M dấu vào đúng các vị trí ? sao cho giá trị của biểu thức là lớn nhất có thể, và in ra giá trị đó.

Dữ liệu vào

  • Dòng đầu chứa xâu E mô tả biểu thức Ahmes với tất cả dấu phép toán đã được thay bằng ?.
  • Dòng thứ hai chứa hai số nguyên PM — số dấu cộng và số dấu trừ. Đảm bảo P+M đúng bằng số ký tự ? trong E.

Dữ liệu ra

  • In ra một số nguyên duy nhất là giá trị lớn nhất có thể của biểu thức.

Ràng buộc

  • 1|E|104
  • 0min(P,M)100

Ví dụ

Input Output Giải thích
(1?1)
1 0
2 (1+1)=2
(2?(1?2))
1 1
1 (2+(12))=1
((1?(5?7))?((6?2)?7))
3 2
18 ((1(57))+((6+2)+7))=18
((1?(5?7))?((6?2)?7))
2 3
16 ((1+(5+7))((62)7))=16

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0