Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0

    Bài thi olympic tin học

    Mọi người cho em hỏi cách làm bài này sao đi ạ! Em không biết phải làm ntn:
    Yêu cầu
    Cho trước N điểm trên mặt phẳng với toạ độ nguyên và cho trước số thực dương R. Yêu cầu của bài toán là kiểm tra xem N điểm có thể nằm trong một vòng tròn bán kính R hay không?
    Dữ liệu
    Dữ liệu nhập từ file văn bản PNC.INP có cấu trúc như sau:
    • Dòng đầu tiên ghi số N (2<N< 101).
    • Dòng thứ hai ghi 5 số thực dương R1, R2, R3, R4, R5 xếp theo thứ tự tăng dần. Các số cách nhau bởi dấu cách.
    • N dòng tiếp theo, mỗi dòng ghi một cặp số nguyên là toạ độ của N điểm tương ứng.
    Kết quả
    Kết quả ghi ra file văn bản PNC.OUT một số K duy nhất (1 <= K <= 5), sao cho RK là số nhỏ nhất trong các số trên và tồn tại một vòng tròn có bán kính RK chứa được tập hợp điểm đã cho, kể cả trường hợp điểm nằm trên biên của vòng tròn. Trong trường hợp không tìm thấy vòng tròn như vậy thì ghi ra số –1.
    vd:
    PNC.INP
    4
    1.0 1.5 2.1 4.3 6.2
    1 4
    2 3
    0 1
    1 0

    PNC.OUT
    3

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    chọn 3 điểm bất kì (ko thẳng hàng) A B C trong N điểm, tìm tâm đường tròn ngoại tiếp O của 3 điểm này. Tính bán kính r = OA, nếu trong 5 bán kính cho trước ko có bán kính nào gần bằng r thì output -1. Nếu có thì lần lượt N-3 điểm X còn lại xét OX có phải cùng giá trị r hay ko.

    tìm tâm đường tròn ngoại tiếp = giao điểm 3 trung trực (tìm giao điểm 2 trung trực là đủ rồi). Viết pt đường thẳng AB rồi suy ra pt đường thẳng vuông góc với AB tại trung điểm AB. Tương tự cho BC. Tìm giao điểm 2 đường trung trực của AB và BC là ra.



    edit: nằm trong vòng tròn chứ ko phải nằm trên à, vậy thì ta nhầm rồi :">

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •