Submission #92445

#TimeUsernameProblemLanguageResultExecution timeMemory
92445ltomicKocka (COCI18_kocka)C++14
28 / 70
403 ms66560 KiB
#include <cstdio> #include <set> #include <cstdlib> using namespace std; const int MAXN = 1e5+5; set<int> s[4][MAXN]; int l[MAXN], r[MAXN], u[MAXN], d[MAXN]; int n; void no() { printf("NE\n"); exit(0); } int main() { scanf("%d", &n); for (int i = 0; i < n; ++i) { scanf("%d", l+i); if (l[i] == -1) continue; s[0][i].insert(l[i]); s[1][l[i]].insert(i); s[2][i].insert(n-l[i]-1); s[3][l[i]].insert(n-i-1); } for (int i = 0; i < n; ++i) { scanf("%d", r+i); if (r[i] == -1) continue; s[2][i].insert(r[i]); s[3][n-r[i]-1].insert(n-i-1); s[0][i].insert(n-r[i]-1); s[1][n-r[i]-1].insert(i); } for (int i = 0; i < n; ++i) { scanf("%d", u+i); if (u[i] == -1) continue; s[1][i].insert(u[i]); s[2][u[i]].insert(n-i-1); s[3][i].insert(n-u[i]-1); s[0][u[i]].insert(i); } for (int i = 0; i < n; ++i) { scanf("%d", d+i); if (d[i] == -1) continue; s[3][i].insert(d[i]); s[0][n-d[i]-1].insert(i); s[1][i].insert(n-d[i]-1); s[2][n-d[i]-1].insert(n-i-1); } /*for (int i = 0; i < 4; ++i) { for (int j = 0; j < n; ++j) { for (int k: s[i][j]) printf("%d ", k); printf("\n"); } printf("\n"); }*/ for (int i = 0; i < n; ++i) { if (l[i] == -1) l[i] = n; s[0][i].insert(n); if (l[i] != *s[0][i].begin()) no(); if (u[i] == -1) u[i] = n; s[1][i].insert(n); if (u[i] != *s[1][i].begin()) no(); if (r[i] == -1) r[i] = n; s[2][i].insert(n); if (r[i] != *s[2][i].begin()) no(); if (d[i] == -1) d[i] = n; s[3][i].insert(n); if (d[i] != *s[3][i].begin()) no(); } printf("DA\n"); return 0; }

Compilation message (stderr)

kocka.cpp: In function 'int main()':
kocka.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
   ~~~~~^~~~~~~~~~
kocka.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", l+i);
     ~~~~~^~~~~~~~~~~
kocka.cpp:29:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", r+i);
     ~~~~~^~~~~~~~~~~
kocka.cpp:37:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", u+i);
     ~~~~~^~~~~~~~~~~
kocka.cpp:45:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", d+i);
     ~~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...