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

    solution

    Đề bài: [Data Science] Gán khách hàng vào cụm gần nhất

    Bộ phận marketing phân cụm nnn khách hàng (mỗi khách hàng là một vectơ đặc trưng ddd chiều) bằng K-means. Cho trước kkk tâm cụm c0,…,ck−1c_0, \dots, c_{k-1}c0​,…,ck−1​, hãy thực hiện bước gán cụm: mỗi khách hàng xix_ixi​ được gán vào cụm có tâm gần nhất theo khoảng cách Euclid

    ∥x−c∥=∑j=1d(xj−cj)2\|x - c\| = \sqrt{\sum_{j=1}^{d}(x_j - c_j)^2}∥x−c∥=∑j=1d​(xj​−cj​)2​

    Nếu có nhiều tâm cùng khoảng cách nhỏ nhất, chọn cụm có chỉ số nhỏ nhất.

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

      Dòng đầu: ba số nguyên nnn ddd kkk. nnn dòng tiếp theo: mỗi dòng ddd số thực (một khách hàng). kkk dòng cuối: mỗi dòng ddd số thực (một tâm cụm, theo thứ tự chỉ số 0..k−1).

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

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

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

      Một dòng gồm nnn số nguyên: chỉ số cụm (0-based) của từng khách hàng theo đúng thứ tự đầu vào, cách nhau dấu cách.

    Ví dụ:

    Đầu vào:

    4 2 2
    1 1
    2 2
    8 8
    9 9
    0 0
    10 10

    Đầu ra:

    0 0 1 1

    Giải thích:

    Điểm (1,1) cách tâm 0 một khoảng √2, cách tâm 1 khoảng √162 ⇒ cụm 0. Tương tự (2,2)→0, còn (8,8) và (9,9) gần tâm (10,10) hơn ⇒ cụm 1. Kết quả: 0 0 1 1

    Đang tải editor...