JOI 2007 - Lines
Xem PDFCho \(N\) đường thẳng \(\ell_1,\ell_2,\ldots,\ell_N\) trên mặt phẳng. Hãy tính số miền mà chúng chia mặt phẳng thành. Các đường thẳng được cho có thể trùng nhau.
Chẳng hạn, xét năm đường thẳng trong đó \(\ell_1\) song song với \(\ell_2\), ba đường \(\ell_2,\ell_3,\ell_4\) đi qua cùng một điểm, các cặp đường còn lại đều cắt nhau và không có bộ ba đồng quy nào khác. Chúng chia mặt phẳng thành \(14\) miền.
Dữ liệu vào
Đọc từ đầu vào chuẩn, gồm \(N+1\) dòng:
- Dòng đầu chứa số nguyên \(N\).
- Dòng thứ \(i+1\) (\(1\le i\le N\)) chứa bốn số nguyên \(a_i,b_i,c_i,d_i\), phân cách bằng dấu cách. Đường thẳng \(\ell_i\) đi qua hai điểm phân biệt \(P_i=(a_i,b_i)\) và \(Q_i=(c_i,d_i)\).
Mỗi đối tượng được cho là toàn bộ đường thẳng qua hai điểm, không chỉ là đoạn thẳng nối chúng.
Dữ liệu ra
Ghi ra đầu ra chuẩn số miền trên một dòng.
Ràng buộc
- \(1\le N\le1000\).
- \(0\le a_i,b_i,c_i,d_i\le1000\) (\(1\le i\le N\)).
- \((a_i,b_i)\ne(c_i,d_i)\) (\(1\le i\le N\)).
- Các đường thẳng có thể trùng nhau, song song hoặc có nhiều đường đi qua cùng một điểm.
Phân nhóm
Các bộ dữ liệu được chấm độc lập; không có điều kiện ràng buộc riêng cho từng nhóm.
- Các bộ dữ liệu \(01\)–\(10\): \(10\) điểm mỗi bộ, tổng cộng \(100\) điểm; áp dụng toàn bộ ràng buộc trên.
Ví dụ
Ví dụ 1
Input
4
0 4 6 4
0 0 6 6
1 0 1 6
0 6 6 0
Output
11
Giải thích
Bốn đường thẳng lần lượt là \(y=4\), \(y=x\), \(x=1\) và \(y=6-x\). Chúng chia mặt phẳng thành \(11\) miền.
Kỳ thi:
- JOI 2007 Representative Selection - Ngày 4 (24 Tháng ba, 2007)
Bình luận