#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
mt19937_64 rnd(chrono::steady_clock::now().time_since_epoch().count());
#define int long long
#define double long double
#define all(x) (x).begin(), (x).end()
#define pii pair<int, int>
#define lowbit(x) x & (-x);
#define inf 1e18
#define _inf -1e18
#define pyes cout << "YES" << endl
#define pno cout << "NO" << endl
#define inv(a) for (int& x: a) cin >> x;
#define llv(a) for (ll& x: a) cin >> x;
#define pri(a) for (int& x: a) cout << x << ' '
int const MOD = 998244353;
int const lg = 20;
int const block = 500;
// int block;
int const MAX = 1e3 + 1, N = 20;
int n, m, q, k, p;
int a[25][25];
bool Work(vector<int> l, vector<int> r, vector<int> t, vector<int> b){
map<int, int> fortop, forbot;
for (int i = n - 1; i >= 0; i--){
fortop[t[i]] = i;
forbot[b[i]] = i;
}
// cout << n << '\n';
for (int i = 0; i < n; i++){
int lef = l[i];
int rig = r[i];
if (lef == -1){
// cout << i << '\n';
if (rig != -1)
return false;
if (fortop.find(i) != fortop.end())
return false;
if (forbot.find(n - i - 1) != forbot.end())
return false;
}
else{
if (rig == -1 || rig + lef >= n)
return false;
if (fortop.find(i) != fortop.end() && fortop[i] < lef - 1)
return false;
if (forbot.find(n - i - 1) != forbot.end() && forbot[n - i - 1] < lef - 1)
return false;
}
// return true;
}
return true;
}
void bexuyen67() {
cin >> n;
vector<int> l(n);
auto r = l;
auto t = l;
auto b = l;
inv(l)
inv(r)
inv(t)
inv(b)
bool ck = 1;
ck &= Work(l, r, t, b);
reverse(all(t));
reverse(all(b));
ck &= Work(r, l, t, b);
ck &= Work(t, b, r, l);
reverse(all(l));
reverse(all(r));
ck &= Work(b, t, r, l);
cout << (ck ? "DA" : "NE");
}
signed main() {
#ifdef binhball
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
cin.tie(0)->sync_with_stdio(0);
cout << fixed << setprecision(15);
int t = 1;
// cin >> t;
while (t--)
bexuyen67();
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
604 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
604 KB |
Output is correct |
4 |
Correct |
1 ms |
348 KB |
Output is correct |
5 |
Correct |
2 ms |
512 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
756 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
2 ms |
604 KB |
Output is correct |
4 |
Correct |
1 ms |
344 KB |
Output is correct |
5 |
Correct |
2 ms |
604 KB |
Output is correct |
6 |
Correct |
1 ms |
344 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
202 ms |
14304 KB |
Output is correct |
2 |
Correct |
236 ms |
16956 KB |
Output is correct |
3 |
Correct |
226 ms |
16952 KB |
Output is correct |
4 |
Correct |
29 ms |
7780 KB |
Output is correct |
5 |
Correct |
224 ms |
16892 KB |
Output is correct |
6 |
Correct |
247 ms |
17108 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
196 ms |
12392 KB |
Output is correct |
2 |
Correct |
42 ms |
8044 KB |
Output is correct |
3 |
Correct |
239 ms |
17024 KB |
Output is correct |
4 |
Correct |
62 ms |
8024 KB |
Output is correct |
5 |
Correct |
227 ms |
16916 KB |
Output is correct |
6 |
Correct |
200 ms |
12408 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
227 ms |
14344 KB |
Output is correct |
2 |
Correct |
27 ms |
7844 KB |
Output is correct |
3 |
Correct |
225 ms |
17116 KB |
Output is correct |
4 |
Correct |
237 ms |
16904 KB |
Output is correct |
5 |
Correct |
228 ms |
16908 KB |
Output is correct |
6 |
Correct |
35 ms |
8016 KB |
Output is correct |