JOI 2012 - Fortune Telling

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

Chủ tịch K rất thích bói toán và thường thử nhiều cách bói khác nhau. Hôm nay, ông quyết định dùng các lá bài để dự đoán thành tích của đoàn Nhật Bản tại kỳ thi IOI năm nay.

Cách bói được thực hiện như sau:

  • Xếp các lá bài thành một hình chữ nhật gồm \(M\) hàng và \(N\) cột, tất cả đều ngửa mặt.
  • Với mỗi \(i = 1, 2, \ldots, K\), lật tất cả các lá bài nằm trong các hàng từ \(A_i\) đến \(B_i\) tính từ trên xuống và các cột từ \(C_i\) đến \(D_i\) tính từ trái sang. Lật một lá bài nghĩa là đổi từ ngửa thành úp hoặc từ úp thành ngửa.
  • Sau khi thực hiện xong các thao tác, kết quả bói được xác định từ số lá bài đang ngửa mặt.

Cụ thể, nếu ký hiệu lá bài ở hàng \(a\), cột \(b\)\((a,b)\) thì thao tác thứ \(i\) lật tất cả các lá bài thỏa mãn:

\[ A_i \le a \le B_i, \qquad C_i \le b \le D_i. \]

Nhận ra rằng phải lật bài quá nhiều lần, chủ tịch K quyết định không thực hiện các thao tác bằng bài thật nữa.

Yêu cầu

Cho \(M\), \(N\), \(K\) và thông tin của \(K\) thao tác, hãy tính số lá bài ngửa mặt sau khi thực hiện tất cả các thao tác.

Dữ liệu vào

Đọc dữ liệu từ đầu vào chuẩn:

  • Dòng đầu tiên chứa ba số nguyên \(M\), \(N\), \(K\), cách nhau bởi dấu cách.
  • Dòng thứ \(i+1\) (\(1 \le i \le K\)) chứa bốn số nguyên \(A_i\), \(B_i\), \(C_i\), \(D_i\), mô tả thao tác thứ \(i\).

Dữ liệu ra

In ra đầu ra chuẩn một dòng chứa số lá bài ngửa mặt sau \(K\) thao tác.

Ràng buộc

  • \(1 \le M \le 1\,000\,000\,000\).
  • \(1 \le N \le 1\,000\,000\,000\).
  • \(1 \le K \le 100\,000\).
  • \(1 \le A_i \le B_i \le M\) với mọi \(1 \le i \le K\).
  • \(1 \le C_i \le D_i \le N\) với mọi \(1 \le i \le K\).

Phân nhóm

  • Các bộ kiểm thử chiếm \(30\%\) tổng số điểm thỏa mãn \(K \le 3\,000\).

Ví dụ

Ví dụ 1

Input
6 5 3
2 4 1 4
4 6 3 5
1 2 3 5
Output
11
Giải thích

\(K=3\) thao tác. Trong các hình dưới đây, biểu diễn lá bài ngửa mặt và biểu diễn lá bài úp mặt.

Ở trạng thái cuối cùng có \(11\) lá bài ngửa mặt, nên in ra \(11\).

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: