BẢNG KÍ TỰ

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    maiducninh   đã bình luận một ngày trước sửa 2

    def solve(): m, n, k = map(int, input().split()) board = [input() for _ in range(m)] max_area = 0

    Copy
    for r1 in range(m):
        for c1 in range(n):
            for r2 in range(r1, m):
                for c2 in range(c1, n):
                    sub_board = [row[c1:c2+1] for row in board[r1:r2+1]]
                    rows = len(sub_board)
                    cols = len(sub_board[0]) if rows > 0 else 0
                    if rows == 0 or cols == 0:
                        continue
    
                    a_count = 0
                    b_count = 0
                    for row in sub_board:
                        a_count += row.count('A')
                        b_count += row.count('B')
    
                    if abs(a_count - b_count) <= k:
                        max_area = max(max_area, rows * cols)
    
    print(max_area)
    

    t = int(input()) xuống dòng for _ in range(t): xuống dòng tab solve()


  • 0
    maiducninh   đã bình luận một ngày trước

    Tui có code python đúng 5/20 nè


  • 2
    KVMB23A_67   đã bình luận 8 tháng trước

    mik có ý tưởng nè: dùng prefix sum để tính độ chênh lệnh, chỉ xét các ô lớn hơn ô lớn nhất hiện tại, liên tục cập nhật ô lớn nhất hiện tại nhé


  • 1
    SK24_A433   đã bình luận 9 tháng trước

    :)


  • 0
    DucKien2014   đã bình luận 9 tháng trước

    Ai cho tui code đc ko?


  • 0
    HDG_12   đã bình luận 10 tháng trước

    khó thế