QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#658801#9439. Aim Highucup-team1001#AC ✓1ms3548kbC++233.6kb2024-10-19 17:38:552024-10-19 17:38:56

Judging History

This is the latest submission verdict.

  • [2024-10-19 17:38:56]
  • Judged
  • Verdict: AC
  • Time: 1ms
  • Memory: 3548kb
  • [2024-10-19 17:38:55]
  • Submitted

answer

#include "bits/stdc++.h"

using namespace std;
using i64 = long long;
int be = -4;
map<int, vector<pair<int, int>>> mp;

void init() {

    for (int i = -4; i < 0; i++) {
        for (int h = i - 1; h <= -2; h++) {
            mp[h + 1].emplace_back(i - 1, h);
            mp[h + 1].emplace_back(i, h);
            mp[h + 1].emplace_back(i, h + 1);
        }
    }


    for (int i = -4; i < 0; i++) {
        for (int h = i - 1; h <= -2; h++) {
            mp[h + 1].emplace_back(-i, h);
            mp[h + 1].emplace_back(-i - 1, h);
            mp[h + 1].emplace_back(-i - 1, h + 1);
        }
    }

    mp[0].emplace_back(-4, -1);
    mp[0].emplace_back(-3, -1);
    mp[0].emplace_back(-3, 0);
    mp[0].emplace_back(-4, -1);
    mp[0].emplace_back(-3, -1);
    mp[0].emplace_back(-3, 0);


    mp[0].emplace_back(-1, -1);
    mp[0].emplace_back(-2, -1);
    mp[0].emplace_back(-2, 0);
    mp[0].emplace_back(-1, -1);
    mp[0].emplace_back(-2, -1);
    mp[0].emplace_back(-2, 0);


    mp[0].emplace_back(3, -1);
    mp[0].emplace_back(2, -1);
    mp[0].emplace_back(2, 0);
    mp[0].emplace_back(3, -1);
    mp[0].emplace_back(2, -1);
    mp[0].emplace_back(2, 0);


    mp[0].emplace_back(0, -1);
    mp[0].emplace_back(1, -1);
    mp[0].emplace_back(1, 0);
    mp[0].emplace_back(0, -1);
    mp[0].emplace_back(1, -1);
    mp[0].emplace_back(1, 0);


    mp[1].emplace_back(-4, 0);
    mp[1].emplace_back(-3, 0);
    mp[1].emplace_back(-3, 1);


    mp[1].emplace_back(-3, 0);
    mp[1].emplace_back(-2, 0);
    mp[1].emplace_back(-2, 1);
    mp[1].emplace_back(-3, 0);
    mp[1].emplace_back(-2, 0);
    mp[1].emplace_back(-2, 1);


    mp[1].emplace_back(-2, 0);
    mp[1].emplace_back(-1, 0);
    mp[1].emplace_back(-1, 1);


    mp[1].emplace_back( 3, 0);
    mp[1].emplace_back( 2, 0);
    mp[1].emplace_back( 2, 1);


    mp[1].emplace_back( 2, 0);
    mp[1].emplace_back( 1, 0);
    mp[1].emplace_back( 1, 1);
    mp[1].emplace_back( 2, 0);
    mp[1].emplace_back( 1, 0);
    mp[1].emplace_back( 1, 1);


    mp[1].emplace_back( 1, 0);
    mp[1].emplace_back(0, 0);
    mp[1].emplace_back(0, 1);


    mp[2].emplace_back(-3, 1);
    mp[2].emplace_back(-2, 1);
    mp[2].emplace_back(-2, 2);
    mp[2].emplace_back(-2, 1);
    mp[2].emplace_back(-1, 1);
    mp[2].emplace_back(-1, 2);


    mp[2].emplace_back( 2, 1);
    mp[2].emplace_back( 1, 1);
    mp[2].emplace_back( 1, 2);
    mp[2].emplace_back( 1, 1);
    mp[2].emplace_back(0, 1);
    mp[2].emplace_back(0, 2);


    mp[3].emplace_back(-2, 2);
    mp[3].emplace_back(-1, 2);
    mp[3].emplace_back(-1, 3);

    mp[3].emplace_back( 1, 2);
    mp[3].emplace_back(0, 2);
    mp[3].emplace_back(0, 3);


    mp[4].emplace_back(-1, 3);
    mp[4].emplace_back(0, 3);
    mp[4].emplace_back(0, 4);


}

vector<pair<int, int>> get(int x) {
    vector<pair<int, int>> a;
    for (auto [ax, v]: mp) {
        if (ax > x) break;
        for (auto i: v) a.push_back(i);
    }
    return a;
}

void solve() {
    int n;
    cin >> n;
    if (n >= 5) {
        cout << -1 << endl;
    } else {
        auto v = get(n);
        int siz = v.size();
        siz /= 3;
        cout << siz << endl;
        int t = 0;
        for (auto [x, y]: v) {
            cout << x << " " << y << " ";
            t++;
            if (t % 3 == 0) cout << endl;
        }
    }
}

//vector<tuple<int, int, int, int, int, int>> op;




int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    init();
    int t;
    cin >> t;
    while (t--) {
        solve();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3548kb

input:

1
1

output:

36
-5 -5 -4 -5 -4 -4 
4 -5 3 -5 3 -4 
-5 -4 -4 -4 -4 -3 
-4 -4 -3 -4 -3 -3 
4 -4 3 -4 3 -3 
3 -4 2 -4 2 -3 
-5 -3 -4 -3 -4 -2 
-4 -3 -3 -3 -3 -2 
-3 -3 -2 -3 -2 -2 
4 -3 3 -3 3 -2 
3 -3 2 -3 2 -2 
2 -3 1 -3 1 -2 
-5 -2 -4 -2 -4 -1 
-4 -2 -3 -2 -3 -1 
-3 -2 -2 -2 -2 -1 
-2 -2 -1 -2 -1 -1 
4 -2 3 -2 3...

result:

ok Output is valid. OK

Test #2:

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

input:

6
1
2
3
4
5
6

output:

36
-5 -5 -4 -5 -4 -4 
4 -5 3 -5 3 -4 
-5 -4 -4 -4 -4 -3 
-4 -4 -3 -4 -3 -3 
4 -4 3 -4 3 -3 
3 -4 2 -4 2 -3 
-5 -3 -4 -3 -4 -2 
-4 -3 -3 -3 -3 -2 
-3 -3 -2 -3 -2 -2 
4 -3 3 -3 3 -2 
3 -3 2 -3 2 -2 
2 -3 1 -3 1 -2 
-5 -2 -4 -2 -4 -1 
-4 -2 -3 -2 -3 -1 
-3 -2 -2 -2 -2 -1 
-2 -2 -1 -2 -1 -1 
4 -2 3 -2 3...

result:

ok Output is valid. OK

Extra Test:

score: 0
Extra Test Passed