Đầu tiên, ta sẽ tìm điệu kiện để chung nhóm. Gọi C là tập hợp các học sinh được chọn. Với mỗi học sinh trong nhóm thì phải tồn tại ít nhất 1 vị trí sao cho C_i | C_j = C_i hoặc C_i | C_j = C_j. Dấu "|" biểu thị cho phép toán OR. Ta sẽ duyệt qua tất cả các cặp học sinh. Nếu thỏa mãn điều kiện trên ta sẽ thêm vào nhóm.
Độ phức tạp: O(N \times N).