Добрый день
Испытываю затруднения с вроде бы простой задачкой.
- Дано N точек (N может быть сколь угодно большим) и M actions (M обычно порядка 200). Каждая action хранит вектор пар индекс точки + вес, т.е.
C++ (Qt)
struct CAction : public std::vector<std::pair<int, double> > {};
};
Обычно для точки активно 4-5 actions
Надо: вычислить и присвоить каждой точке ID которые должны совпадать для точек у которых все actions совпадают и имеют те же веса. Пример
точка 1; (action 1, weight = 1) + (action 2, weight = 1) // ID = 1
точка 2; (action 2, weight = 1) + (action 3, weight = 1) // ID = 2
точка 3; (action 1, weight = 1.1) + (action 3, weight = 1) // ID = 3
точка 4; (action 1, weight = 1.1) + (action 3, weight = 1) // ID = 3
Спасибо