Skip to the content.

:heavy_check_mark: test/yukicoder/650.test.cpp

Depends on

Code

#define PROBLEM "https://yukicoder.me/problems/no/650"
#include <bits/stdc++.h>

#define REP(i, n) for (int i = 0; i < (n); i++)

#include "library/algebra/group/Multiply.hpp"
#include "library/linearalgebra/SquareMatrix.hpp"
#include "library/mod/Modint.hpp"
#include "library/tree/EdgeVertex.hpp"
#include "library/tree/Tree.hpp"
#include "library/tree/TreeMonoid.hpp"

using mint = Mint<long long, 1000'000'007>;
using MAT = SquareMatrix<mint, 2>;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n;
    std::cin >> n;
    EdgeVertex EV(n);
    REP (_, n - 1) {
        int u, v;
        std::cin >> u >> v;
        EV.add_edge(u, v);
    }
    Tree T = EV.build();

    TreeMonoid<Tree, GroupMultiply<MAT, false>> TM(T);

    int q;
    std::cin >> q;
    REP (_, q) {
        char c;
        std::cin >> c;
        if (c == 'x') {
            int idx;
            std::cin >> idx;
            MAT M;
            REP (i, 2)
                REP (j, 2)
                    std::cin >> M[i][j];
            TM.set(n + idx, M);
        } else {
            int l, r;
            std::cin >> l >> r;
            MAT M = TM.path_prod(l, r);
            REP (i, 2)
                REP (j, 2)
                    std::cout << M[i][j] << "\n "[i + j < 2];
        }
    }
}
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
    bundler.update(path)
    ~~~~~~~~~~~~~~^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.0/x64/lib/python3.14/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 312, in update
    raise BundleErrorAt(path, i + 1, "#pragma once found in a non-first line")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: library/segtree/SegmentTree.hpp: line 3: #pragma once found in a non-first line
Back to top page