QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#136625#237. Triangle PartitionS_Explosion#100 ✓2ms3628kbC++201.0kb2023-08-09 09:27:082023-08-09 09:27:10

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-09 09:27:10]
  • 评测
  • 测评结果:100
  • 用时:2ms
  • 内存:3628kb
  • [2023-08-09 09:27:08]
  • 提交

answer

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <unordered_map>
#include <cmath>
#include <assert.h>
#include <map>
#include <set>
#include <utility>

template <typename Tp>
inline void read(Tp &x) {
    x = 0;
    bool f = true; char ch = getchar();
    for ( ; ch < '0' || ch > '9'; ch = getchar()) f ^= ch == '-';
    for ( ; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + (ch ^ 48);
    x = f ? x : -x;
}

const int N = 3e3;

struct Point {
    int x, y, id;
    bool operator < (const Point &s) const {
        return (x == s.x) ? y < s.y : x < s.x;
    }
};
Point p[N + 5];

int main() {
    int T;
    read(T);
    while (T--) {
        int n;
        read(n);
        for (int i = 1; i <= 3 * n; ++i) read(p[i].x), read(p[i].y), p[i].id = i;
        std::sort(p + 1, p + 3 * n + 1);
        for (int i = 1; i <= n; ++i) printf("%d %d %d\n", p[i * 3 - 2].id, p[i * 3 - 1].id, p[i * 3].id);
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 3628kb

input:

190
10
-7215 2904
-5179 1663
-542 1091
-5687 7868
7838 -1048
-2944 4346
-2780 3959
-9402 1099
-8548 -7238
-3821 -2917
2713 295
-856 -8661
7651 3945
-8216 -543
5798 5024
8583 -3384
-1208 5955
3068 -385
340 2968
6559 -272
4537 5075
5126 4343
639 8281
1700 2572
819 9317
-9854 -1316
-3421 -1137
9368 718...

output:

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

result:

ok AC