- 5 Tháng ba 2017
- 12
- 4
- 71
- Hà Nam
- trung học phổ thông chuyên biên hòa


Đóng cửa sổ màn hình (c++)
Khi làm việc trên máy tính người ta thường mở rất nhiều cửa sổ. Mỗi cửa sổ là một hình chữ nhật bao gồm một số ô vuông nhỏ kích thước 1 x 1. Một cửa sổ mới được mở, phụ thuộc vào vị trí và kích thước của nó, có thể che khuất một phần hoặc toàn bộ những cửa sổ mở trước nó. Chúng ta có thể đóng cửa sổ bằng cách nháy chuột vào ô vuông nhỏ ở góc phải trên của cửa sổ, nếu như tại thời điểm đó ta nhìn thấy ô vuông này. Một ô của một cửa số là nhìn thấy được nếu như mỗi cửa số che khuất nó đều đã được đóng.
Yêu cầu: Hãy tính số lượng ít nhất lần nháy chuột để có thể đóng được cửa sổ được mở đầu tiên.
Dữ liệu: vào từ file MCLICK.INP:
- Dòng đầu tiên chứa số nguyên N (1 .. 100), là số cửa sổ.
- Mỗi dòng trong số n dòng tiếp theo chứa 4 số nguyên R1, S1, R2, S2 (1 <= R1 <= R2 <= 10000, 1 <= S1 <= S2 <= 10000) trong đó (R1, S1) là toạ độ màn hình của đỉnh góc trái trên, còn (R2, S2) là toạ độ của đỉnh góc phải dưới của cửa sổ. Các cửa sổ được mở theo trình tự chúng xuất hiện trong file dữ liệu.
Chú ý: hãy tưởng tượng màn hình bao gồm một lưới các ô vuông nhỏ. Các dòng của lưới được đánh số từ trên xuống dưới, các cột được đánh số từ trái qua phải bắt đầu từ 1. Ô ở góc trên trái của màn hình nằm ở dòng 1 cột 1.
Kết quả: ghi ra file MCLICK.OUT: một số nguyên duy nhất là số lần nháy chuột ít nhất cần thực hiện để đóng được cửa sổ đầu tiên.
Ví dụ:
MLICK.INP MCLICK.OUT MCLICK.INP MCLICK.OUT
3 3 3 1
3 1 6 4 3 3 4 4
1 2 4 6 1 1 2 2
2 3 5 5 5 5 6 6
Mọi người ơi giúp mình bài này với !!!
Khi làm việc trên máy tính người ta thường mở rất nhiều cửa sổ. Mỗi cửa sổ là một hình chữ nhật bao gồm một số ô vuông nhỏ kích thước 1 x 1. Một cửa sổ mới được mở, phụ thuộc vào vị trí và kích thước của nó, có thể che khuất một phần hoặc toàn bộ những cửa sổ mở trước nó. Chúng ta có thể đóng cửa sổ bằng cách nháy chuột vào ô vuông nhỏ ở góc phải trên của cửa sổ, nếu như tại thời điểm đó ta nhìn thấy ô vuông này. Một ô của một cửa số là nhìn thấy được nếu như mỗi cửa số che khuất nó đều đã được đóng.
Yêu cầu: Hãy tính số lượng ít nhất lần nháy chuột để có thể đóng được cửa sổ được mở đầu tiên.
Dữ liệu: vào từ file MCLICK.INP:
- Dòng đầu tiên chứa số nguyên N (1 .. 100), là số cửa sổ.
- Mỗi dòng trong số n dòng tiếp theo chứa 4 số nguyên R1, S1, R2, S2 (1 <= R1 <= R2 <= 10000, 1 <= S1 <= S2 <= 10000) trong đó (R1, S1) là toạ độ màn hình của đỉnh góc trái trên, còn (R2, S2) là toạ độ của đỉnh góc phải dưới của cửa sổ. Các cửa sổ được mở theo trình tự chúng xuất hiện trong file dữ liệu.
Chú ý: hãy tưởng tượng màn hình bao gồm một lưới các ô vuông nhỏ. Các dòng của lưới được đánh số từ trên xuống dưới, các cột được đánh số từ trái qua phải bắt đầu từ 1. Ô ở góc trên trái của màn hình nằm ở dòng 1 cột 1.
Kết quả: ghi ra file MCLICK.OUT: một số nguyên duy nhất là số lần nháy chuột ít nhất cần thực hiện để đóng được cửa sổ đầu tiên.
Ví dụ:
MLICK.INP MCLICK.OUT MCLICK.INP MCLICK.OUT
3 3 3 1
3 1 6 4 3 3 4 4
1 2 4 6 1 1 2 2
2 3 5 5 5 5 6 6
Mọi người ơi giúp mình bài này với !!!