JOI 2009 - Starry Sky

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

Hiệp hội Đài thiên văn Nhật Bản (Japan Observatory Institution, viết tắt là JOI) vừa lắp đặt một kính thiên văn hiệu năng cao. Để quảng bá khả năng của kính và nâng cao danh tiếng của hiệp hội, JOI muốn công bố một bức ảnh có càng nhiều ngôi sao đủ sáng càng tốt.

Vũ trụ rất rộng lớn. Nếu chụp một vùng quá rộng, độ sáng của từng ngôi sao sẽ không được thể hiện đầy đủ. Phóng to giúp các ngôi sao hiện lên đủ sáng, nhưng lại làm giảm số sao có thể nằm trong ảnh.

Mỗi ngôi sao \(i\) được mô tả bởi tọa độ \((x_i,y_i)\) và một giá trị \(L_i\). Kính có thể chụp một vùng hình vuông với kích thước tùy ý, có các cạnh song song với trục tọa độ. Nếu cạnh hình vuông dài \(\ell\), ngôi sao \(i\) chỉ được tính là đủ sáng khi \(\ell\le L_i\).

Một ngôi sao được tính vào kết quả khi vừa nằm trong vùng hình vuông, vừa đủ sáng. Sao nằm trên cạnh hình vuông cũng được tính nếu đủ sáng. Một sao ở trong ảnh nhưng không đủ sáng không được tính.

Với hai ngôi sao khác nhau bất kỳ, tọa độ \(x\) của chúng khác nhau, tọa độ \(y\) của chúng khác nhau và giá trị \(L\) của chúng cũng khác nhau.

Yêu cầu

Hãy tìm số ngôi sao đủ sáng lớn nhất có thể xuất hiện trong một bức ảnh.

Dữ liệu vào

Đọc từ đầu vào chuẩn:

  • Dòng đầu chứa số nguyên \(N\), là số ngôi sao.
  • Trong \(N\) dòng tiếp theo, dòng thứ \(i\) chứa ba số nguyên \(x_i,y_i,L_i\) cách nhau bởi dấu cách. Giá trị \(L_i\) là độ dài cạnh lớn nhất của vùng hình vuông cho phép ngôi sao \(i\) hiện lên đủ sáng.

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chứa số nguyên là số ngôi sao đủ sáng lớn nhất có thể chụp được.

Ràng buộc

  • \(1\le N\le4000\).
  • \(0\le x_i,y_i\le10^9\).
  • \(1\le L_i\le10^9\).
  • Với \(i\ne j\): \(x_i\ne x_j\), \(y_i\ne y_j\)\(L_i\ne L_j\).
  • Giới hạn thời gian: \(3\) giây cho mỗi test.
  • Giới hạn bộ nhớ: \(256\) MB.

Phân nhóm

Bài có \(20\) nhóm chấm, mỗi nhóm \(5\) điểm, tổng cộng \(100\) điểm. Để nhận điểm của một nhóm, chương trình phải trả lời đúng tất cả các test trong nhóm. Các mã dưới đây là số hiệu test trong bộ dữ liệu:

Nhóm Test Điểm
1 01, 02 5
2 03, 04 5
3 05, 06 5
4 07, 08 5
5 09, 10 5
6 11, 12 5
7 13, 14 5
8 15, 16 5
9 17, 18 5
10 19, 20 5
11 21 5
12 22 5
13 23 5
14 24 5
15 25 5
16 26 5
17 27 5
18 28, 29 5
19 30 5
20 31, 32 5

Các test có những bảo đảm về điểm sau:

  • \(15\%\) tổng số điểm: \(N\le100\).
  • \(25\%\) tổng số điểm: \(N\le400\).
  • \(35\%\) tổng số điểm: \(N\le700\).
  • \(50\%\) tổng số điểm: \(N\le1000\).
  • \(20\%\) tổng số điểm: \(x_i,y_i,L_i\le1000\) với mọi \(i\).

Các bảo đảm này có thể chồng lấn; không cộng chúng như những phân nhóm điểm tách biệt.

Ví dụ

Ví dụ 1

Input
4
1 2 6
4 3 3
3 1 4
5 5 2
Output
3

Ví dụ 2

Input
5
11 6 7
12 13 8
15 16 18
2 2 13
3 4 11
Output
2

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: