QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#658801 | #9439. Aim High | ucup-team1001# | AC ✓ | 1ms | 3548kb | C++23 | 3.6kb | 2024-10-19 17:38:55 | 2024-10-19 17:38:56 |
Judging History
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();
}
}
详细
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