Submission #199758

#TimeUsernameProblemLanguageResultExecution timeMemory
199758SamAndChecker (COCI19_checker)C++17
110 / 110
1756 ms62152 KiB
#include <bits/stdc++.h> using namespace std; const int N = 200005; int n; char a[N]; map<int, map<int, int> > c; int l[N], r[N]; bool stg(int x) { if (c.find(l[x]) != c.end() && c[l[x]].find(r[x]) != c[l[x]].end()) return true; return false; } int main() { //freopen("input.txt", "r", stdin); scanf("%d", &n); scanf("%d", &n); scanf(" %s", (a + 1)); for (int i = 1; i < n; ++i) { c[i][i + 1] = (a[i] - '0'); c[i + 1][i] = (a[i] - '0'); } c[n][1] = (a[n] - '0'); c[1][n] = (a[n] - '0'); for (int i = 0; i < n - 3; ++i) { int x, y, z; scanf("%d%d%d", &x, &y, &z); c[x][y] = z; c[y][x] = z; } for (int i = 1; i < n; ++i) r[i] = i + 1; r[n] = 1; l[1] = n; for (int i = 2; i <= n; ++i) l[i] = i - 1; queue<int> q; for (int i = 1; i <= n; ++i) { if (stg(i)) q.push(i); } bool z = true; for (int ii = 0; ii < n - 3; ++ii) { if (q.empty()) { printf("neispravna triangulacija\n"); return 0; } int x = q.front(); q.pop(); if (!stg(x)) { printf("neispravna triangulacija\n"); return 0; } if (c[x][l[x]] == c[x][r[x]] || c[x][l[x]] == c[l[x]][r[x]] || c[x][r[x]] == c[l[x]][r[x]]) z = false; r[l[x]] = r[x]; l[r[x]] = l[x]; if (stg(l[x])) q.push(l[x]); if (stg(r[x])) q.push(r[x]); } if (!z) printf("neispravno bojenje\n"); else printf("tocno\n"); return 0; }

Compilation message (stderr)

checker.cpp: In function 'int main()':
checker.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
checker.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
checker.cpp:23:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf(" %s", (a + 1));
     ~~~~~^~~~~~~~~~~~~~~~
checker.cpp:34:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d%d", &x, &y, &z);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#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...