Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Data Science] Tìm k láng giềng gần nhất

    Trong hệ gợi ý sản phẩm, để tìm những khách hàng "giống nhất" với một khách hàng mới, ta dùng thuật toán k láng giềng gần nhất. Cho nnn điểm dữ liệu ddd chiều (chỉ số từ 0) và một điểm truy vấn qqq, hãy tìm kkk điểm gần qqq nhất theo khoảng cách Euclid.

    Sắp xếp các điểm theo khoảng cách tăng dần; nếu hai điểm có cùng khoảng cách, điểm có chỉ số nhỏ hơn đứng trước. In chỉ số của kkk điểm đầu tiên theo thứ tự đó.

    • Định dạng đầu vào:

      Dòng đầu: ba số nguyên nnn ddd kkk (k ≤ n). nnn dòng tiếp theo: mỗi dòng ddd số thực (một điểm dữ liệu). Dòng cuối: ddd số thực (điểm truy vấn qqq).

    • Ràng buộc đầu vào:

      1 ≤ k ≤ n ≤ 1000; 1 ≤ d ≤ 10; |giá trị| ≤ 1000.

    • Định dạng đầu ra:

      Một dòng gồm kkk số nguyên: chỉ số của kkk láng giềng gần nhất theo thứ tự khoảng cách tăng dần (hòa ⇒ chỉ số nhỏ trước), cách nhau dấu cách.

    Ví dụ:

    Đầu vào:

    5 2 2
    0 0
    1 1
    3 3
    5 5
    2 2
    1 2

    Đầu ra:

    1 4

    Giải thích:

    Bình phương khoảng cách tới q=(1,2): 5, 1, 5, 25, 1. Hai điểm 1 và 4 cùng khoảng cách nhỏ nhất 1, chỉ số nhỏ đứng trước ⇒ kết quả: 1 4

    Đang tải editor...