QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#354880#2495. Knight's MoveEnergy_is_not_overAC ✓467ms13468kbC++145.8kb2024-03-16 06:45:112024-03-16 06:45:13

Judging History

你现在查看的是最新测评结果

  • [2024-03-16 06:45:13]
  • 评测
  • 测评结果:AC
  • 用时:467ms
  • 内存:13468kb
  • [2024-03-16 06:45:11]
  • 提交

answer

//
// Created by BigBag on 15.03.2024 20:18:32
//

#include <bits/stdc++.h>

using namespace std;

#ifdef BigBag
#define DEBUG for (bool ____DEBUG = true; ____DEBUG; ____DEBUG = false)
#define LOG(...) print(#__VA_ARGS__" ::", __VA_ARGS__) << endl

template<class ...Ts>
auto &print(Ts ...ts) { return ((cerr << ts << " "), ...); }

#else
#define DEBUG while (false)
#define LOG(...)
#endif

const int max_n = -1, inf = 1000111222;

template<class ForwardIt, class UnaryPredicate>
ForwardIt remove_if(ForwardIt first, ForwardIt last, UnaryPredicate p)
{
    first = std::find_if(first, last, p);
    if (first != last)
        for (ForwardIt i = first; ++i != last;)
            if (!p(*i))
                *first++ = std::move(*i);
    return first;
}

template< class T, class Alloc, class Pred >
constexpr typename std::vector<T, Alloc>::size_type
erase_if( std::vector<T, Alloc>& c, Pred pred ) {
    auto it = std::remove_if(c.begin(), c.end(), pred);
    auto r = c.end() - it;
    c.erase(it, c.end());
    return r;
}

struct VertexInfo {
    int pr, nxt, jump;
    VertexInfo(int v): pr(v), nxt(v), jump(v) {}
};
struct PathHolder {
    const int jump_sz;
    vector<VertexInfo> a;
    PathHolder(int n): jump_sz(sqrt(n) + 0.47) {
        a.assign(n, 0);
        iota(a.begin(), a.end(), 0);
    }
    void delEdge(int u, int v) {
        a[v].pr = v, a[u].nxt = u;
        for (int i = 0, x = u; i < jump_sz; ++i) {
            a[x].jump = u, x = a[x].pr;
        }
    }
    void addEdge(int u, int v) {
        a[u].nxt = v, a[v].pr = u;
        int x = u, f = u, steps = 0;
        while (steps + 1 < jump_sz && x != a[x].pr) {
            x = a[x].pr, ++steps;
        }
        while ((++steps) <= jump_sz) f = a[f].nxt;
        for (; x != u; x = a[x].nxt, f = a[f].nxt) {
            a[x].jump = f;
        }
        a[x].jump = f;
    }
    int getRoot(int v) const {
        while (v != a[v].jump) v = a[v].jump;
        return v;
    }
    VertexInfo& operator [](int v) { return a[v]; }
    bool in(int v) const { return v != a[v].pr; }
    bool out(int v) const { return v != a[v].nxt; }
};
vector<int> HF(int n, vector<pair<int, int>> e) {
    int F = (n + 47) * 10, fails = 0, tot = 0;
    PathHolder p(n);
    mt19937 gen(time(0) + clock());
    vector<vector<int>> g(n), rg(n);
    for (auto p : e) {
        g[p.first].push_back(p.second);
        rg[p.second].push_back(p.first);
    }
    vector<int> s(n), t(n);
    iota(s.begin(), s.end(), 0);
    iota(t.begin(), t.end(), 0);
    while (fails < F && (n == 1 || !e.empty())) {
        e.clear();
        erase_if(s, [&](int v) {return p.in(v);});
        erase_if(t, [&](int v) {return p.out(v);});
        for (int to : s) for (int from : rg[to])
                if (p.out(from)) e.push_back({from, to});
        for (int from : t) for (int to : g[from])
                e.push_back({from, to});
        shuffle(e.begin(), e.end(), gen);
        for (auto [u, v] : e) {
            ++fails;
            if ((p.out(u) && p.in(v))) continue;
            if (p.getRoot(u) == p.getRoot(v)) continue;
            if ((p.out(u) || p.in(v)) && gen() % 2)
                continue;
            if (p.out(u)) {
                s.push_back(p[u].nxt);
                p.delEdge(u, p[u].nxt);
            } else if (p.in(v)) {
                t.push_back(p[v].pr);
                p.delEdge(p[v].pr, v);
            } else ++tot, fails = 0;
            p.addEdge(u, v);
        }
        if (tot + 1 == n) {
            int v = p.getRoot(0);
            vector<int> res;
            for (int i = 0; i < n; ++i, v = p[v].pr)
                res.push_back(v);
            return {res.rbegin(), res.rend()};
        }
    }
    return {};
}

vector<int> find_cycle(int n, vector<pair<int, int>> e) {
    vector<pair<int, int>> ne;
    int s = n, t = n + 1;
    for (auto [u, v] : e) {
        if (v == 7) {
            ne.push_back({u, t});
        } else {
            ne.push_back({u, v});
        }
    }
    ne.push_back({s, 7});
    auto res = HF(n + 2, ne);
    if (!res.empty()) {
        assert(res[0] == s && res.back() == t);
        res.pop_back();
        res.erase(res.begin());
    }
    return res;
}

const int dx[] = {-1, -1, -2, -2, 1, 1, 2, 2};
const int dy[] = {-2, 2, -1, 1, -2, 2, -1, 1};

int n;

int get_num(int tp, int x, int y) {
    return tp * (n * n - 2) + x * n + y - 1;
}

bool is_in(int x, int y) {
    return 0 <= x && 0 <= y && x < n && y < n && 0 < x + y && x + y < 2 * n - 2;
}

vector<array<int, 3>> solve() {
    vector<pair<int, int>> e;
    for (int tp = 0; tp < 2; ++tp) {
        for (int x = 0; x < n; ++x) {
            for (int y = 0; y < n; ++y) {
                if (!is_in(x, y)) {
                    continue;
                }
                e.push_back({get_num(tp, x, y), get_num(tp ^ 1, x, y)});
                for (int k = 0; k < 8; ++k) {
                    const int nx = x + dx[k], ny = y + dy[k];
                    if (is_in(nx, ny)) {
                        e.push_back({get_num(tp, x, y), get_num(tp, nx, ny)});
                    }
                }
            }
        }
    }
    auto vs = find_cycle(2 * n * n - 4, e);
    while (vs.empty()) {
        vs = find_cycle(2 * n * n - 4, e);
    }
    vector<array<int, 3>> res;
    for (int v : vs) {
        int tp = v / (n * n - 2);
        v %= (n * n - 2);
        ++v;
        int x = v / n, y = v % n;
        res.push_back({1 + x, 1 + y, tp});
    }
    return res;
}

int main() {
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    cin >> n;
    auto ans = solve();
    for (auto a : ans) {
        cout << a[0] << " " << a[1] << " " << a[2] << endl;
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3956kb

input:

4

output:

3 1 0
1 2 0
1 2 1
2 4 1
2 4 0
4 3 0
4 3 1
2 2 1
1 4 1
3 3 1
4 1 1
4 1 0
3 3 0
1 4 0
2 2 0
3 4 0
1 3 0
3 2 0
3 2 1
1 3 1
3 4 1
4 2 1
2 1 1
2 1 0
4 2 0
2 3 0
2 3 1
3 1 1

result:

ok good job

Test #2:

score: 0
Accepted
time: 0ms
memory: 3768kb

input:

6

output:

2 3 0
4 4 0
5 6 0
5 6 1
6 4 1
5 2 1
3 1 1
4 3 1
6 2 1
4 1 1
2 2 1
2 2 0
1 4 0
1 4 1
3 5 1
1 6 1
1 6 0
2 4 0
3 2 0
1 3 0
2 5 0
3 3 0
4 1 0
6 2 0
5 4 0
3 5 0
4 3 0
5 5 0
5 5 1
6 3 1
6 3 0
5 1 0
5 1 1
3 2 1
5 3 1
5 3 0
6 1 0
6 1 1
4 2 1
4 2 0
2 1 0
2 1 1
1 3 1
2 5 1
4 4 1
6 5 1
6 5 0
4 6 0
4 6 1
5 4 1
...

result:

ok good job

Test #3:

score: 0
Accepted
time: 1ms
memory: 4024kb

input:

8

output:

2 1 0
4 2 0
6 3 0
8 2 0
6 1 0
7 3 0
8 1 0
6 2 0
8 3 0
7 1 0
5 2 0
6 4 0
5 6 0
3 7 0
2 5 0
1 7 0
3 6 0
1 5 0
1 5 1
2 7 1
2 7 0
4 6 0
5 8 0
7 7 0
8 5 0
8 5 1
6 6 1
6 6 0
5 4 0
7 5 0
8 7 0
8 7 1
7 5 1
5 6 1
7 7 1
5 8 1
3 7 1
1 6 1
1 6 0
2 8 0
4 7 0
6 8 0
6 8 1
7 6 1
7 6 0
5 5 0
5 5 1
3 4 1
4 2 1
5 4 1
...

result:

ok good job

Test #4:

score: 0
Accepted
time: 1ms
memory: 3860kb

input:

10

output:

1 9 0
2 7 0
3 5 0
1 6 0
2 8 0
1 10 0
1 10 1
2 8 1
1 6 1
3 7 1
1 8 1
2 6 1
2 6 0
4 5 0
4 5 1
6 4 1
7 2 1
5 1 1
6 3 1
7 1 1
9 2 1
9 2 0
7 3 0
8 1 0
6 2 0
4 1 0
3 3 0
3 3 1
5 2 1
5 2 0
7 1 0
6 3 0
8 2 0
8 2 1
9 4 1
7 5 1
5 6 1
4 4 1
3 2 1
5 3 1
5 3 0
6 1 0
6 1 1
7 3 1
8 1 1
6 2 1
4 1 1
2 2 1
4 3 1
2 4 ...

result:

ok good job

Test #5:

score: 0
Accepted
time: 1ms
memory: 3852kb

input:

12

output:

1 9 0
2 11 0
4 10 0
5 12 0
5 12 1
4 10 1
2 11 1
1 9 1
3 8 1
1 7 1
2 9 1
1 11 1
3 12 1
5 11 1
7 12 1
7 12 0
6 10 0
4 9 0
2 10 0
2 10 1
1 8 1
1 8 0
3 9 0
4 11 0
2 12 0
2 12 1
4 11 1
6 12 1
6 12 0
8 11 0
7 9 0
6 11 0
8 10 0
9 8 0
11 7 0
10 9 0
12 8 0
12 8 1
10 9 1
8 10 1
6 11 1
8 12 1
10 11 1
12 10 1
1...

result:

ok good job

Test #6:

score: 0
Accepted
time: 1ms
memory: 3868kb

input:

14

output:

1 9 0
2 11 0
3 13 0
1 14 0
2 12 0
1 10 0
1 10 1
2 12 1
1 14 1
3 13 1
5 14 1
5 14 0
4 12 0
2 13 0
4 14 0
3 12 0
2 14 0
1 12 0
1 12 1
2 10 1
2 10 0
1 8 0
3 9 0
4 11 0
6 12 0
7 14 0
8 12 0
9 10 0
7 9 0
9 8 0
7 7 0
5 8 0
3 7 0
2 5 0
1 7 0
3 8 0
4 6 0
4 6 1
2 5 1
4 4 1
6 3 1
8 2 1
7 4 1
6 6 1
8 5 1
10 4 ...

result:

ok good job

Test #7:

score: 0
Accepted
time: 2ms
memory: 3952kb

input:

16

output:

1 9 0
2 7 0
1 5 0
2 3 0
3 1 0
1 2 0
1 2 1
3 1 1
2 3 1
4 2 1
6 3 1
4 4 1
4 4 0
5 2 0
7 1 0
7 1 1
5 2 1
3 3 1
2 1 1
2 1 0
4 2 0
6 3 0
7 5 0
8 7 0
9 5 0
10 7 0
8 6 0
6 5 0
6 5 1
4 6 1
4 6 0
3 8 0
1 7 0
2 5 0
2 5 1
1 7 1
3 8 1
2 10 1
2 10 0
1 8 0
1 8 1
3 9 1
3 9 0
2 11 0
2 11 1
4 12 1
2 13 1
2 13 0
1 15...

result:

ok good job

Test #8:

score: 0
Accepted
time: 3ms
memory: 3960kb

input:

18

output:

1 9 0
3 8 0
1 7 0
2 9 0
1 11 0
3 10 0
2 12 0
2 12 1
4 11 1
6 10 1
8 11 1
7 9 1
5 8 1
4 10 1
6 11 1
5 13 1
3 12 1
2 10 1
1 8 1
2 6 1
1 4 1
2 2 1
4 1 1
3 3 1
2 1 1
1 3 1
1 3 0
2 1 0
4 2 0
6 1 0
5 3 0
7 2 0
5 1 0
3 2 0
3 2 1
5 3 1
3 4 1
1 5 1
1 5 0
3 4 0
2 6 0
1 8 0
2 10 0
4 11 0
5 9 0
6 11 0
8 12 0
9 ...

result:

ok good job

Test #9:

score: 0
Accepted
time: 0ms
memory: 4100kb

input:

20

output:

1 9 0
1 9 1
2 7 1
3 5 1
1 4 1
1 4 0
2 6 0
3 4 0
4 6 0
4 6 1
6 5 1
4 4 1
2 5 1
3 7 1
4 9 1
6 8 1
5 10 1
7 9 1
5 8 1
6 10 1
5 12 1
3 13 1
5 14 1
6 16 1
8 15 1
9 17 1
11 18 1
9 19 1
10 17 1
12 16 1
14 15 1
14 15 0
12 16 0
11 14 0
9 13 0
7 14 0
7 14 1
9 13 1
8 11 1
10 12 1
9 10 1
8 8 1
6 7 1
7 5 1
5 4 1...

result:

ok good job

Test #10:

score: 0
Accepted
time: 3ms
memory: 4256kb

input:

22

output:

1 9 0
1 9 1
3 10 1
5 11 1
3 12 1
2 10 1
3 8 1
1 7 1
2 9 1
4 10 1
6 11 1
8 12 1
10 11 1
10 11 0
9 9 0
11 8 0
12 10 0
12 10 1
14 11 1
13 9 1
14 7 1
14 7 0
15 9 0
13 8 0
15 7 0
17 8 0
16 10 0
17 12 0
16 14 0
14 13 0
13 15 0
15 16 0
14 18 0
13 20 0
15 21 0
13 22 0
13 22 1
15 21 1
17 20 1
16 18 1
15 16 1...

result:

ok good job

Test #11:

score: 0
Accepted
time: 4ms
memory: 4208kb

input:

24

output:

1 9 0
2 7 0
3 9 0
4 11 0
2 10 0
1 12 0
2 14 0
1 16 0
3 15 0
5 16 0
4 14 0
2 15 0
1 17 0
1 17 1
2 19 1
4 20 1
6 19 1
4 18 1
6 17 1
6 17 0
5 19 0
6 21 0
4 22 0
3 24 0
2 22 0
1 24 0
1 24 1
3 23 1
1 22 1
1 22 0
2 24 0
3 22 0
1 23 0
1 23 1
3 24 1
5 23 1
5 23 0
7 24 0
7 24 1
9 23 1
11 24 1
12 22 1
13 24 1...

result:

ok good job

Test #12:

score: 0
Accepted
time: 5ms
memory: 4360kb

input:

26

output:

1 9 0
3 10 0
4 12 0
2 13 0
1 11 0
1 11 1
2 13 1
4 12 1
5 10 1
6 12 1
8 13 1
6 14 1
5 12 1
6 10 1
7 8 1
9 7 1
7 6 1
8 8 1
8 8 0
9 6 0
9 6 1
10 4 1
11 6 1
12 4 1
13 6 1
11 5 1
13 4 1
14 2 1
12 1 1
12 1 0
14 2 0
13 4 0
14 6 0
15 8 0
13 9 0
14 11 0
15 9 0
16 11 0
14 12 0
13 14 0
11 13 0
9 12 0
10 10 0
1...

result:

ok good job

Test #13:

score: 0
Accepted
time: 12ms
memory: 4548kb

input:

28

output:

1 9 0
1 9 1
3 10 1
3 10 0
1 11 0
1 11 1
2 13 1
3 11 1
1 10 1
2 8 1
4 7 1
6 8 1
6 8 0
5 10 0
7 11 0
7 11 1
5 12 1
6 10 1
7 12 1
8 14 1
9 16 1
10 18 1
8 19 1
6 18 1
4 17 1
5 15 1
5 15 0
3 16 0
4 18 0
5 20 0
7 19 0
8 21 0
9 19 0
8 17 0
10 16 0
9 14 0
11 15 0
13 16 0
13 16 1
11 15 1
12 17 1
13 19 1
15 2...

result:

ok good job

Test #14:

score: 0
Accepted
time: 11ms
memory: 4500kb

input:

30

output:

1 9 0
2 7 0
3 5 0
2 3 0
2 3 1
4 2 1
5 4 1
4 6 1
2 5 1
1 7 1
3 6 1
5 5 1
7 6 1
7 6 0
8 8 0
10 9 0
11 7 0
11 7 1
9 6 1
9 6 0
8 4 0
8 4 1
6 3 1
7 1 1
5 2 1
3 1 1
4 3 1
5 1 1
5 1 0
7 2 0
7 2 1
9 3 1
8 1 1
6 2 1
4 1 1
4 1 0
5 3 0
6 5 0
4 6 0
2 5 0
1 7 0
2 9 0
1 11 0
3 10 0
4 12 0
2 13 0
4 14 0
6 15 0
8 1...

result:

ok good job

Test #15:

score: 0
Accepted
time: 5ms
memory: 4316kb

input:

32

output:

1 9 0
1 9 1
3 8 1
4 10 1
2 11 1
3 9 1
4 7 1
2 6 1
4 5 1
2 4 1
1 2 1
1 2 0
2 4 0
3 6 0
3 6 1
2 8 1
2 8 0
1 6 0
1 6 1
3 7 1
1 8 1
2 10 1
4 9 1
3 11 1
2 13 1
1 15 1
1 15 0
2 13 0
4 12 0
3 14 0
4 16 0
5 18 0
7 19 0
9 18 0
8 20 0
9 22 0
7 23 0
5 22 0
5 22 1
3 21 1
1 20 1
3 19 1
5 18 1
7 19 1
8 17 1
6 16 ...

result:

ok good job

Test #16:

score: 0
Accepted
time: 10ms
memory: 4492kb

input:

34

output:

1 9 0
1 9 1
3 10 1
4 12 1
3 14 1
3 14 0
5 15 0
6 13 0
4 14 0
5 12 0
6 10 0
7 8 0
5 9 0
6 11 0
7 9 0
5 10 0
4 12 0
2 13 0
2 13 1
1 15 1
1 15 0
2 17 0
1 19 0
1 19 1
2 17 1
3 15 1
1 16 1
1 16 0
2 18 0
1 20 0
3 21 0
2 23 0
1 25 0
3 24 0
1 23 0
2 21 0
3 23 0
5 22 0
5 22 1
6 20 1
7 22 1
5 23 1
3 24 1
1 23...

result:

ok good job

Test #17:

score: 0
Accepted
time: 10ms
memory: 4596kb

input:

36

output:

1 9 0
2 7 0
4 6 0
6 5 0
6 5 1
8 4 1
6 3 1
7 5 1
5 6 1
7 7 1
5 8 1
5 8 0
3 9 0
2 11 0
3 13 0
4 15 0
6 14 0
8 13 0
7 15 0
8 17 0
9 19 0
7 20 0
8 22 0
10 21 0
8 20 0
6 21 0
7 23 0
6 25 0
5 23 0
4 25 0
5 27 0
7 28 0
8 30 0
7 32 0
5 31 0
6 33 0
8 32 0
7 30 0
7 30 1
9 29 1
10 27 1
10 27 0
8 26 0
8 26 1
6 ...

result:

ok good job

Test #18:

score: 0
Accepted
time: 13ms
memory: 4860kb

input:

38

output:

1 9 0
1 9 1
3 10 1
2 8 1
4 9 1
4 9 0
5 11 0
7 10 0
5 9 0
5 9 1
7 8 1
8 10 1
6 9 1
4 10 1
2 9 1
1 7 1
1 7 0
2 5 0
1 3 0
3 2 0
5 1 0
7 2 0
8 4 0
9 2 0
7 1 0
6 3 0
5 5 0
4 7 0
3 5 0
4 3 0
6 2 0
8 1 0
8 1 1
10 2 1
11 4 1
9 3 1
9 3 0
11 2 0
13 1 0
12 3 0
10 2 0
12 1 0
12 1 1
14 2 1
16 3 1
18 2 1
20 1 1
2...

result:

ok good job

Test #19:

score: 0
Accepted
time: 10ms
memory: 4904kb

input:

40

output:

1 9 0
2 7 0
1 5 0
2 3 0
2 3 1
1 5 1
3 6 1
1 7 1
3 8 1
1 9 1
3 10 1
4 12 1
5 10 1
4 8 1
6 9 1
8 10 1
7 12 1
6 14 1
5 16 1
6 18 1
7 20 1
8 22 1
10 21 1
11 23 1
13 24 1
13 24 0
11 23 0
10 21 0
9 23 0
9 23 1
8 25 1
8 25 0
10 26 0
12 25 0
11 27 0
9 26 0
7 25 0
7 25 1
9 26 1
8 24 1
6 25 1
4 26 1
6 27 1
7 ...

result:

ok good job

Test #20:

score: 0
Accepted
time: 11ms
memory: 5216kb

input:

42

output:

1 9 0
3 8 0
1 7 0
2 9 0
3 7 0
4 9 0
2 8 0
3 6 0
5 7 0
6 9 0
5 11 0
3 10 0
4 8 0
5 6 0
6 8 0
7 10 0
5 9 0
4 7 0
2 6 0
3 4 0
5 5 0
6 7 0
6 7 1
5 9 1
7 8 1
9 7 1
8 5 1
6 6 1
7 4 1
5 5 1
6 3 1
8 4 1
7 6 1
6 4 1
7 2 1
5 1 1
3 2 1
1 3 1
2 1 1
2 1 0
4 2 0
6 1 0
5 3 0
6 5 0
8 6 0
8 6 1
10 7 1
12 8 1
11 6 1
...

result:

ok good job

Test #21:

score: 0
Accepted
time: 29ms
memory: 5188kb

input:

44

output:

1 9 0
1 9 1
2 7 1
1 5 1
2 3 1
3 5 1
5 6 1
6 4 1
8 5 1
7 3 1
6 1 1
4 2 1
5 4 1
6 2 1
4 1 1
5 3 1
6 5 1
4 6 1
3 4 1
5 5 1
5 5 0
3 4 0
1 3 0
1 3 1
2 1 1
2 1 0
3 3 0
1 4 0
1 4 1
3 3 1
2 5 1
1 7 1
3 8 1
5 9 1
4 7 1
2 6 1
1 8 1
2 10 1
3 12 1
1 11 1
2 13 1
2 13 0
1 11 0
2 9 0
1 7 0
3 8 0
2 6 0
1 8 0
2 10 0...

result:

ok good job

Test #22:

score: 0
Accepted
time: 7ms
memory: 5408kb

input:

46

output:

1 9 0
1 9 1
2 11 1
3 9 1
1 8 1
2 6 1
2 6 0
4 7 0
5 9 0
6 7 0
8 8 0
10 9 0
10 9 1
9 7 1
11 6 1
10 8 1
10 8 0
12 7 0
13 9 0
11 8 0
10 6 0
12 5 0
13 3 0
15 2 0
17 1 0
17 1 1
18 3 1
19 1 1
20 3 1
20 3 0
18 2 0
20 1 0
20 1 1
22 2 1
21 4 1
23 5 1
23 5 0
21 4 0
19 3 0
17 4 0
18 6 0
16 5 0
17 7 0
15 6 0
13 ...

result:

ok good job

Test #23:

score: 0
Accepted
time: 41ms
memory: 5556kb

input:

48

output:

1 9 0
2 11 0
1 13 0
1 13 1
2 11 1
3 13 1
4 11 1
6 12 1
7 10 1
5 9 1
4 7 1
2 8 1
1 10 1
2 12 1
1 14 1
1 14 0
3 13 0
5 14 0
6 12 0
5 10 0
4 8 0
6 9 0
7 11 0
8 9 0
6 10 0
5 12 0
6 14 0
4 13 0
2 12 0
1 10 0
2 8 0
3 6 0
1 7 0
2 5 0
3 3 0
1 4 0
1 4 1
2 2 1
2 2 0
3 4 0
1 3 0
2 1 0
2 1 1
1 3 1
2 5 1
3 7 1
4...

result:

ok good job

Test #24:

score: 0
Accepted
time: 41ms
memory: 5856kb

input:

50

output:

1 9 0
2 11 0
1 13 0
2 15 0
1 17 0
1 17 1
3 18 1
5 17 1
4 19 1
6 18 1
8 17 1
9 19 1
10 17 1
8 18 1
9 20 1
7 19 1
6 17 1
5 19 1
3 20 1
4 22 1
4 22 0
3 24 0
1 25 0
2 23 0
1 21 0
1 21 1
3 22 1
1 23 1
2 25 1
1 27 1
2 29 1
1 31 1
1 31 0
2 29 0
1 27 0
2 25 0
4 26 0
2 27 0
1 29 0
3 30 0
4 28 0
5 30 0
4 32 0...

result:

ok good job

Test #25:

score: 0
Accepted
time: 25ms
memory: 6056kb

input:

52

output:

1 9 0
1 9 1
2 11 1
4 12 1
3 10 1
4 8 1
6 7 1
7 9 1
7 9 0
8 7 0
8 7 1
9 5 1
11 6 1
11 6 0
10 8 0
12 7 0
10 6 0
10 6 1
9 4 1
7 5 1
7 5 0
5 6 0
6 8 0
5 10 0
3 9 0
1 10 0
2 8 0
1 6 0
1 6 1
2 4 1
4 5 1
2 6 1
1 4 1
3 5 1
2 7 1
4 6 1
4 6 0
3 8 0
5 9 0
7 8 0
6 6 0
5 8 0
5 8 1
3 7 1
2 5 1
2 5 0
4 4 0
2 3 0
3...

result:

ok good job

Test #26:

score: 0
Accepted
time: 49ms
memory: 6412kb

input:

54

output:

1 9 0
2 11 0
3 13 0
3 13 1
2 11 1
4 10 1
5 8 1
3 7 1
2 9 1
1 7 1
1 7 0
2 9 0
3 7 0
5 6 0
3 5 0
1 6 0
1 6 1
2 8 1
3 6 1
5 5 1
4 3 1
2 2 1
2 2 0
3 4 0
5 3 0
3 2 0
5 1 0
4 3 0
3 1 0
3 1 1
1 2 1
2 4 1
2 4 0
1 2 0
3 3 0
4 1 0
4 1 1
5 3 1
6 5 1
8 6 1
10 7 1
9 9 1
11 10 1
10 12 1
10 12 0
11 10 0
9 9 0
10 7...

result:

ok good job

Test #27:

score: 0
Accepted
time: 60ms
memory: 6672kb

input:

56

output:

1 9 0
2 11 0
1 13 0
1 13 1
2 15 1
3 13 1
4 15 1
3 17 1
3 17 0
1 16 0
2 18 0
2 18 1
4 19 1
4 19 0
2 20 0
3 18 0
4 20 0
4 20 1
6 19 1
8 20 1
9 22 1
11 23 1
12 21 1
14 20 1
15 22 1
16 24 1
14 25 1
15 23 1
17 22 1
18 24 1
17 26 1
19 25 1
20 23 1
18 22 1
17 24 1
15 25 1
14 27 1
16 26 1
17 28 1
18 26 1
16...

result:

ok good job

Test #28:

score: 0
Accepted
time: 26ms
memory: 6752kb

input:

58

output:

1 9 0
2 11 0
1 13 0
1 13 1
3 14 1
5 13 1
6 11 1
4 10 1
5 12 1
7 13 1
7 13 0
8 11 0
7 9 0
6 11 0
4 10 0
6 9 0
8 10 0
9 8 0
10 6 0
9 4 0
10 2 0
8 1 0
8 1 1
6 2 1
4 1 1
3 3 1
2 5 1
1 7 1
2 9 1
1 11 1
1 11 0
2 9 0
3 7 0
2 5 0
3 3 0
1 4 0
2 2 0
4 1 0
5 3 0
4 5 0
4 5 1
3 7 1
5 6 1
3 5 1
1 4 1
2 6 1
2 6 0
...

result:

ok good job

Test #29:

score: 0
Accepted
time: 23ms
memory: 6932kb

input:

60

output:

1 9 0
2 11 0
1 13 0
2 15 0
3 13 0
1 12 0
2 14 0
4 13 0
2 12 0
3 14 0
2 16 0
1 14 0
1 14 1
2 16 1
1 18 1
1 18 0
3 19 0
5 20 0
4 18 0
4 18 1
6 17 1
7 15 1
8 17 1
10 18 1
10 18 0
8 19 0
6 18 0
5 16 0
7 15 0
8 13 0
6 14 0
4 15 0
4 15 1
6 16 1
8 15 1
10 16 1
11 14 1
9 13 1
10 11 1
12 12 1
13 14 1
11 13 1...

result:

ok good job

Test #30:

score: 0
Accepted
time: 130ms
memory: 7444kb

input:

62

output:

1 9 0
1 9 1
2 11 1
1 13 1
3 14 1
2 16 1
1 14 1
2 12 1
2 12 0
1 10 0
1 10 1
3 11 1
4 9 1
6 10 1
8 9 1
7 7 1
8 5 1
6 6 1
6 6 0
7 8 0
7 8 1
5 9 1
6 11 1
4 12 1
3 10 1
3 10 0
2 8 0
2 8 1
3 6 1
5 7 1
3 8 1
1 7 1
2 9 1
3 7 1
1 8 1
1 8 0
3 9 0
4 7 0
5 5 0
7 6 0
6 8 0
8 7 0
9 5 0
10 3 0
11 1 0
13 2 0
15 3 0...

result:

ok good job

Test #31:

score: 0
Accepted
time: 96ms
memory: 7524kb

input:

64

output:

1 9 0
3 10 0
2 12 0
1 14 0
3 13 0
2 15 0
2 15 1
3 17 1
4 15 1
2 16 1
2 16 0
3 18 0
1 19 0
3 20 0
1 21 0
1 21 1
2 19 1
4 18 1
5 16 1
4 14 1
3 12 1
2 14 1
1 16 1
3 15 1
1 14 1
2 12 1
1 10 1
3 9 1
1 8 1
1 8 0
3 7 0
4 9 0
5 7 0
6 9 0
4 8 0
4 8 1
5 10 1
4 12 1
4 12 0
2 11 0
3 9 0
5 8 0
4 10 0
2 9 0
1 11 ...

result:

ok good job

Test #32:

score: 0
Accepted
time: 97ms
memory: 7536kb

input:

66

output:

1 9 0
2 11 0
4 10 0
3 8 0
4 6 0
2 7 0
2 7 1
4 8 1
3 6 1
1 7 1
2 5 1
1 3 1
2 1 1
3 3 1
4 5 1
2 6 1
1 4 1
3 5 1
3 5 0
1 4 0
2 2 0
2 2 1
4 3 1
4 3 0
3 1 0
3 1 1
1 2 1
2 4 1
1 6 1
2 8 1
3 10 1
5 11 1
4 13 1
6 14 1
5 16 1
7 17 1
5 18 1
4 20 1
6 19 1
6 19 0
4 18 0
4 18 1
2 17 1
1 15 1
1 15 0
2 17 0
1 19 0...

result:

ok good job

Test #33:

score: 0
Accepted
time: 50ms
memory: 8048kb

input:

68

output:

1 9 0
2 11 0
4 10 0
4 10 1
3 12 1
5 13 1
6 11 1
4 12 1
4 12 0
3 10 0
5 9 0
4 11 0
4 11 1
2 12 1
1 10 1
2 8 1
2 8 0
1 10 0
2 12 0
3 14 0
2 16 0
1 18 0
3 19 0
4 21 0
4 21 1
3 23 1
5 24 1
7 25 1
9 26 1
11 25 1
12 27 1
12 27 0
14 26 0
15 28 0
16 26 0
15 24 0
15 24 1
16 26 1
14 27 1
16 28 1
14 29 1
15 31...

result:

ok good job

Test #34:

score: 0
Accepted
time: 52ms
memory: 8388kb

input:

70

output:

1 9 0
3 8 0
5 7 0
7 8 0
6 10 0
8 9 0
7 11 0
9 10 0
11 9 0
10 11 0
9 13 0
7 14 0
9 15 0
8 13 0
6 12 0
4 11 0
5 13 0
5 13 1
7 12 1
7 12 0
8 10 0
9 12 0
8 14 0
8 14 1
10 13 1
9 15 1
7 16 1
6 14 1
8 13 1
10 12 1
12 11 1
11 13 1
12 15 1
14 16 1
14 16 0
15 18 0
16 20 0
14 19 0
14 19 1
15 17 1
16 15 1
18 1...

result:

ok good job

Test #35:

score: 0
Accepted
time: 72ms
memory: 8648kb

input:

72

output:

1 9 0
3 10 0
4 12 0
3 14 0
2 12 0
1 14 0
3 13 0
5 12 0
4 14 0
2 13 0
1 11 0
1 11 1
2 13 1
4 12 1
5 10 1
7 11 1
5 12 1
4 14 1
3 16 1
3 16 0
1 15 0
2 17 0
3 19 0
5 18 0
4 20 0
3 22 0
4 24 0
3 26 0
5 27 0
7 28 0
9 29 0
10 31 0
9 33 0
11 32 0
11 32 1
9 31 1
8 29 1
8 29 0
9 27 0
11 28 0
13 29 0
11 30 0
1...

result:

ok good job

Test #36:

score: 0
Accepted
time: 135ms
memory: 9080kb

input:

74

output:

1 9 0
3 10 0
2 8 0
2 8 1
3 10 1
4 12 1
5 14 1
4 16 1
6 15 1
7 13 1
7 13 0
5 14 0
3 15 0
2 17 0
4 16 0
3 18 0
2 16 0
1 18 0
1 18 1
2 16 1
3 14 1
5 15 1
4 13 1
6 12 1
4 11 1
3 13 1
5 12 1
6 14 1
5 16 1
4 14 1
3 16 1
1 17 1
1 17 0
2 15 0
4 14 0
5 16 0
7 17 0
7 17 1
8 15 1
10 16 1
8 17 1
7 19 1
9 20 1
1...

result:

ok good job

Test #37:

score: 0
Accepted
time: 240ms
memory: 9644kb

input:

76

output:

1 9 0
1 9 1
2 7 1
3 9 1
5 8 1
4 6 1
4 6 0
5 4 0
7 3 0
6 1 0
4 2 0
3 4 0
5 3 0
4 5 0
6 4 0
6 4 1
4 3 1
2 4 1
1 2 1
3 3 1
4 5 1
3 7 1
1 6 1
2 8 1
4 9 1
6 10 1
8 9 1
10 10 1
8 11 1
9 13 1
10 11 1
11 9 1
10 7 1
11 5 1
13 6 1
15 7 1
17 8 1
19 7 1
21 6 1
20 8 1
18 9 1
18 9 0
20 8 0
21 6 0
23 5 0
24 3 0
24...

result:

ok good job

Test #38:

score: 0
Accepted
time: 181ms
memory: 9648kb

input:

78

output:

1 9 0
3 8 0
1 7 0
3 6 0
5 7 0
4 5 0
6 4 0
5 6 0
3 5 0
1 6 0
2 4 0
4 3 0
4 3 1
5 5 1
6 7 1
8 8 1
6 9 1
5 11 1
4 13 1
6 14 1
7 16 1
8 14 1
10 13 1
9 15 1
8 13 1
6 12 1
5 14 1
7 15 1
9 16 1
10 14 1
9 12 1
7 13 1
8 11 1
10 12 1
10 12 0
9 10 0
7 9 0
6 7 0
5 5 0
6 3 0
6 3 1
8 4 1
10 3 1
11 5 1
12 7 1
12 7...

result:

ok good job

Test #39:

score: 0
Accepted
time: 83ms
memory: 9808kb

input:

80

output:

1 9 0
2 11 0
2 11 1
4 12 1
4 12 0
3 10 0
5 11 0
4 13 0
5 15 0
7 16 0
8 18 0
10 17 0
12 16 0
10 15 0
11 17 0
11 17 1
13 18 1
15 19 1
16 21 1
14 22 1
14 22 0
12 23 0
13 21 0
14 23 0
12 24 0
11 22 0
11 22 1
10 24 1
9 22 1
7 23 1
6 25 1
5 27 1
4 29 1
5 31 1
6 29 1
6 29 0
4 28 0
4 28 1
5 26 1
7 25 1
6 23...

result:

ok good job

Test #40:

score: 0
Accepted
time: 290ms
memory: 10508kb

input:

82

output:

1 9 0
1 9 1
3 8 1
4 10 1
4 10 0
5 12 0
5 12 1
3 13 1
2 15 1
1 17 1
3 16 1
4 14 1
6 13 1
6 13 0
4 14 0
6 15 0
4 16 0
2 17 0
3 19 0
1 20 0
3 21 0
2 23 0
3 25 0
5 26 0
7 27 0
8 25 0
8 25 1
7 27 1
5 28 1
3 27 1
1 26 1
1 26 0
2 24 0
4 23 0
2 22 0
1 24 0
3 23 0
2 25 0
4 24 0
5 22 0
6 24 0
8 23 0
10 24 0
1...

result:

ok good job

Test #41:

score: 0
Accepted
time: 103ms
memory: 10496kb

input:

84

output:

1 9 0
3 8 0
1 7 0
2 5 0
1 3 0
1 3 1
2 5 1
1 7 1
2 9 1
3 7 1
5 8 1
5 8 0
4 6 0
6 7 0
5 5 0
7 4 0
6 6 0
6 6 1
7 8 1
5 9 1
4 7 1
2 8 1
1 6 1
2 4 1
3 6 1
5 5 1
7 4 1
8 6 1
6 5 1
5 7 1
3 8 1
4 10 1
3 12 1
5 13 1
6 15 1
8 14 1
7 12 1
9 13 1
10 11 1
10 11 0
11 9 0
10 7 0
10 7 1
9 5 1
8 7 1
6 8 1
5 10 1
4 8...

result:

ok good job

Test #42:

score: 0
Accepted
time: 127ms
memory: 10864kb

input:

86

output:

1 9 0
1 9 1
3 8 1
4 6 1
6 7 1
5 5 1
3 6 1
2 8 1
1 10 1
1 10 0
3 9 0
4 11 0
3 13 0
3 13 1
5 12 1
5 12 0
4 14 0
4 14 1
2 15 1
3 17 1
4 19 1
6 18 1
5 16 1
5 16 0
3 15 0
2 17 0
4 16 0
3 14 0
2 16 0
4 15 0
5 17 0
3 16 0
5 15 0
6 17 0
4 18 0
4 18 1
2 19 1
1 17 1
1 17 0
3 18 0
3 18 1
2 20 1
1 18 1
1 18 0
2...

result:

ok good job

Test #43:

score: 0
Accepted
time: 253ms
memory: 11212kb

input:

88

output:

1 9 0
3 8 0
1 7 0
2 5 0
4 4 0
3 2 0
5 1 0
7 2 0
8 4 0
6 3 0
4 2 0
4 2 1
2 1 1
2 1 0
1 3 0
1 3 1
2 5 1
4 4 1
3 2 1
5 1 1
7 2 1
9 1 1
9 1 0
8 3 0
7 5 0
5 4 0
4 6 0
3 4 0
2 6 0
1 4 0
1 4 1
3 5 1
2 3 1
1 5 1
3 6 1
1 7 1
3 8 1
5 7 1
4 5 1
2 6 1
3 4 1
5 5 1
5 5 0
3 6 0
5 7 0
4 9 0
2 10 0
1 12 0
2 14 0
2 1...

result:

ok good job

Test #44:

score: 0
Accepted
time: 119ms
memory: 11632kb

input:

90

output:

1 9 0
2 7 0
3 5 0
3 5 1
1 4 1
2 6 1
2 6 0
1 4 0
2 2 0
2 2 1
4 1 1
4 1 0
5 3 0
6 1 0
4 2 0
2 1 0
2 1 1
3 3 1
3 3 0
4 5 0
6 6 0
5 8 0
3 9 0
3 9 1
1 8 1
1 8 0
2 10 0
2 10 1
3 8 1
3 8 0
1 7 0
1 7 1
3 6 1
4 8 1
2 9 1
4 10 1
5 12 1
3 13 1
4 15 1
5 17 1
7 16 1
5 15 1
6 17 1
8 18 1
10 19 1
11 17 1
9 16 1
7 ...

result:

ok good job

Test #45:

score: 0
Accepted
time: 112ms
memory: 11800kb

input:

92

output:

1 9 0
1 9 1
3 10 1
5 9 1
6 7 1
8 8 1
9 10 1
11 9 1
13 8 1
15 9 1
13 10 1
14 12 1
16 13 1
17 11 1
18 13 1
17 15 1
15 14 1
17 13 1
15 12 1
13 11 1
15 10 1
15 10 0
17 11 0
18 13 0
16 14 0
15 12 0
14 14 0
14 14 1
15 16 1
13 15 1
14 17 1
14 17 0
15 19 0
16 21 0
18 22 0
17 24 0
17 24 1
16 22 1
15 24 1
16 ...

result:

ok good job

Test #46:

score: 0
Accepted
time: 467ms
memory: 12868kb

input:

94

output:

1 9 0
2 7 0
1 5 0
2 3 0
2 3 1
1 5 1
3 6 1
4 8 1
6 7 1
7 5 1
9 6 1
8 8 1
6 9 1
8 10 1
7 8 1
9 9 1
8 7 1
6 8 1
7 10 1
5 11 1
3 10 1
1 11 1
1 11 0
2 13 0
1 15 0
1 15 1
2 13 1
3 15 1
1 14 1
2 12 1
4 13 1
3 11 1
5 12 1
4 10 1
2 9 1
1 7 1
1 7 0
2 9 0
4 8 0
6 9 0
5 11 0
4 9 0
4 9 1
3 7 1
1 6 1
2 8 1
2 8 0
...

result:

ok good job

Test #47:

score: 0
Accepted
time: 320ms
memory: 12744kb

input:

96

output:

1 9 0
1 9 1
3 10 1
5 9 1
6 11 1
4 10 1
2 9 1
3 7 1
5 8 1
3 9 1
1 8 1
2 6 1
1 4 1
2 2 1
4 3 1
4 3 0
6 2 0
8 1 0
10 2 0
8 3 0
7 5 0
6 7 0
5 9 0
4 7 0
5 5 0
7 6 0
8 8 0
7 10 0
6 8 0
5 6 0
3 7 0
4 9 0
5 7 0
7 8 0
7 8 1
6 6 1
7 4 1
7 4 0
5 3 0
6 5 0
4 6 0
2 5 0
3 3 0
4 5 0
2 6 0
3 4 0
3 4 1
4 6 1
6 5 1
8...

result:

ok good job

Test #48:

score: 0
Accepted
time: 166ms
memory: 13292kb

input:

98

output:

1 9 0
3 8 0
5 9 0
4 11 0
2 10 0
1 12 0
1 12 1
3 13 1
5 12 1
6 14 1
8 13 1
7 11 1
5 10 1
6 8 1
5 6 1
4 8 1
3 10 1
2 12 1
1 14 1
1 14 0
3 13 0
4 15 0
6 16 0
6 16 1
8 17 1
8 17 0
6 18 0
4 17 0
4 17 1
5 19 1
7 20 1
9 19 1
9 19 0
10 17 0
10 17 1
11 19 1
13 18 1
15 17 1
17 16 1
16 18 1
14 19 1
16 20 1
17 ...

result:

ok good job

Test #49:

score: 0
Accepted
time: 312ms
memory: 13468kb

input:

100

output:

1 9 0
2 7 0
1 5 0
1 5 1
3 4 1
4 2 1
2 1 1
1 3 1
1 3 0
3 2 0
4 4 0
6 5 0
8 6 0
9 8 0
7 9 0
5 10 0
4 8 0
3 6 0
1 7 0
2 9 0
3 11 0
1 12 0
1 12 1
3 11 1
5 12 1
7 11 1
8 9 1
7 7 1
5 6 1
7 5 1
6 3 1
5 1 1
3 2 1
2 4 1
1 6 1
1 6 0
2 4 0
4 3 0
5 1 0
6 3 0
7 1 0
9 2 0
11 3 0
12 1 0
12 1 1
10 2 1
8 1 1
8 1 0
6...

result:

ok good job