Выбрать соревнование | Задачи | Послать решение | Результаты проверки | Статистика по задачам | Вопросы и ответы | Результаты соревнования | Состояние сервера | Изменить данные | Управление командой | Помощь |
01/09/2007 | Алгоритмы и структуры данных. Полиномы и матрицы (G) |
Ограничения: время – 250ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Определить методы transp
(транспонироание) и operator*
для разреженной матрицы.
Транспонировать матрицу b при реализации умножения.
class SparseMatrix {
int n,m;
vector<list<pair<int,double>>> data;
public:
SparseMatrix(int n, int m):n(n),m(m),data(n) {}
pair<int,int> size()const {return {n,m};}
void insert(int i, int j, double v);
SparseMatrix transp() const;
friend SparseMatrix operator*(const SparseMatrix& a, const SparseMatrix & b);
};