#include <iostream>
#include <set>
#include <vector>
#include <tuple>
#include <sstream>
#include <iterator>
using namespace std;
int main() {
int N;
cin >> N; // Read the number of points
cin.ignore(); // Ignore the newline after reading N
// Vectors to store the coordinates
vector<int> X(N), Y(N), Z(N);
// Read the X coordinates
for (int i = 0; i < N; ++i) {
cin >> X[i];
}
cin.ignore(); // Ignore the newline after reading X
// Read the Y coordinates
for (int i = 0; i < N; ++i) {
cin >> Y[i];
}
cin.ignore(); // Ignore the newline after reading Y
// Read the Z coordinates
for (int i = 0; i < N; ++i) {
cin >> Z[i];
}
// Set to hold unique positions
set<tuple<int, int, int>> poses;
// Populate the set with the tuples
for (int i = 0; i < N; ++i) {
poses.insert(make_tuple(X[i], Y[i], Z[i]));
}
// Check the movement between positions
for (auto from_pos = poses.begin(); from_pos != poses.end(); ++from_pos) {
for (auto to_pos = next(from_pos); to_pos != poses.end(); ++to_pos) {
vector<int> ghost_pos = {get<0>(*from_pos), get<1>(*from_pos), get<2>(*from_pos)};
vector<int> dirs = {
(get<0>(*to_pos) > ghost_pos[0]) - (get<0>(*to_pos) < ghost_pos[0]),
(get<1>(*to_pos) > ghost_pos[1]) - (get<1>(*to_pos) < ghost_pos[1]),
(get<2>(*to_pos) > ghost_pos[2]) - (get<2>(*to_pos) < ghost_pos[2])
};
// Continue moving the ghost until it reaches the destination
while (ghost_pos != vector<int>{get<0>(*to_pos), get<1>(*to_pos), get<2>(*to_pos)}) {
bool moved = false;
for (int axis = 0; axis < 3; ++axis) {
// Use get with a constant index
if (ghost_pos[axis] != (axis == 0 ? get<0>(*to_pos) : (axis == 1 ? get<1>(*to_pos) : get<2>(*to_pos)))) {
vector<int> next_pos = ghost_pos;
next_pos[axis] += dirs[axis];
if (poses.count(make_tuple(next_pos[0], next_pos[1], next_pos[2]))) {
ghost_pos[axis] += dirs[axis];
moved = true;
break;
}
}
}
if (!moved) {
cout << "NO" << endl;
return 0; // Exit on failure
}
}
}
}
cout << "YES" << endl;
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 320 KiB | ||||
| 2 | Elfogadva | 1ms | 320 KiB | ||||
| 3 | Elfogadva | 1ms | 320 KiB | ||||
| subtask2 | 18/18 | ||||||
| 4 | Elfogadva | 1ms | 320 KiB | ||||
| 5 | Elfogadva | 1ms | 320 KiB | ||||
| 6 | Elfogadva | 14ms | 320 KiB | ||||
| 7 | Elfogadva | 4ms | 320 KiB | ||||
| 8 | Elfogadva | 3ms | 320 KiB | ||||
| 9 | Elfogadva | 1ms | 512 KiB | ||||
| 10 | Elfogadva | 4ms | 320 KiB | ||||
| 11 | Elfogadva | 3ms | 412 KiB | ||||
| 12 | Elfogadva | 1ms | 508 KiB | ||||
| 13 | Elfogadva | 2ms | 320 KiB | ||||
| subtask3 | 0/19 | ||||||
| 14 | Elfogadva | 8ms | 724 KiB | ||||
| 15 | Elfogadva | 79ms | 500 KiB | ||||
| 16 | Elfogadva | 7ms | 824 KiB | ||||
| 17 | Elfogadva | 1.748s | 944 KiB | ||||
| 18 | Időlimit túllépés | 3.091s | 824 KiB | ||||
| 19 | Időlimit túllépés | 3.092s | 824 KiB | ||||
| 20 | Elfogadva | 1ms | 320 KiB | ||||
| 21 | Elfogadva | 19ms | 568 KiB | ||||
| 22 | Elfogadva | 8ms | 824 KiB | ||||
| 23 | Elfogadva | 2.387s | 960 KiB | ||||
| 24 | Időlimit túllépés | 3.085s | 824 KiB | ||||
| 25 | Elfogadva | 21ms | 824 KiB | ||||
| 26 | Elfogadva | 1ms | 320 KiB | ||||
| subtask4 | 0/24 | ||||||
| 27 | Elfogadva | 116ms | 7748 KiB | ||||
| 28 | Időlimit túllépés | 3.085s | 420 KiB | ||||
| 29 | Időlimit túllépés | 3.085s | 7736 KiB | ||||
| 30 | Időlimit túllépés | 3.085s | 7748 KiB | ||||
| 31 | Időlimit túllépés | 3.086s | 7736 KiB | ||||
| 32 | Időlimit túllépés | 3.085s | 7736 KiB | ||||
| 33 | Elfogadva | 114ms | 320 KiB | ||||
| 34 | Időlimit túllépés | 3.085s | 7748 KiB | ||||
| 35 | Időlimit túllépés | 3.079s | 7736 KiB | ||||
| 36 | Időlimit túllépés | 3.082s | 7744 KiB | ||||
| 37 | Időlimit túllépés | 3.078s | 7736 KiB | ||||
| 38 | Elfogadva | 116ms | 7740 KiB | ||||
| 39 | Elfogadva | 97ms | 760 KiB | ||||
| subtask5 | 0/22 | ||||||
| 40 | Elfogadva | 126ms | 7732 KiB | ||||
| 41 | Elfogadva | 94ms | 320 KiB | ||||
| 42 | Elfogadva | 32ms | 2540 KiB | ||||
| 43 | Elfogadva | 172ms | 7480 KiB | ||||
| 44 | Időlimit túllépés | 3.086s | 7740 KiB | ||||
| 45 | Időlimit túllépés | 3.072s | 7736 KiB | ||||
| 46 | Elfogadva | 1ms | 416 KiB | ||||
| 47 | Elfogadva | 39ms | 416 KiB | ||||
| 48 | Elfogadva | 63ms | 1848 KiB | ||||
| 49 | Időlimit túllépés | 3.099s | 6968 KiB | ||||
| 50 | Elfogadva | 114ms | 7736 KiB | ||||
| 51 | Időlimit túllépés | 3.085s | 7732 KiB | ||||
| 52 | Elfogadva | 114ms | 7736 KiB | ||||
| 53 | Elfogadva | 2ms | 320 KiB | ||||
| subtask6 | 0/17 | ||||||
| 54 | Elfogadva | 156ms | 7732 KiB | ||||
| 55 | Időlimit túllépés | 3.084s | 7736 KiB | ||||
| 56 | Elfogadva | 222ms | 7740 KiB | ||||
| 57 | Elfogadva | 477ms | 7736 KiB | ||||
| 58 | Időlimit túllépés | 3.079s | 7736 KiB | ||||
| 59 | Időlimit túllépés | 3.081s | 7736 KiB | ||||
| 60 | Időlimit túllépés | 3.089s | 7736 KiB | ||||
| 61 | Elfogadva | 247ms | 7736 KiB | ||||
| 62 | Elfogadva | 279ms | 7736 KiB | ||||
| 63 | Időlimit túllépés | 3.092s | 7736 KiB | ||||
| 64 | Időlimit túllépés | 3.099s | 7736 KiB | ||||
| 65 | Elfogadva | 935ms | 7736 KiB | ||||
| 66 | Időlimit túllépés | 3.099s | 7736 KiB | ||||