Submission #1004334

#TimeUsernameProblemLanguageResultExecution timeMemory
1004334aykhnTrobojnica (COCI19_trobojnica)C++17
20 / 110
2097 ms7868 KiB
#include <bits/stdc++.h> using namespace std; #define inf 0x3F3F3F3F3F3F3F3F const int MXN = 20 + 5; const int mod = 1e9 + 7; const int LOG = 20; int n; vector<array<int, 3>> res; int ok(vector<array<int, 3>> &v) { if (v.size() == 3) { return v[0][0] != v[1][0] && v[0][0] != v[2][0] && v[1][0] != v[2][0]; } int cnt = 0; for (int i = 0; i < v.size(); i++) { if (v[i][0] != v[(i + 1) % (int)v.size()][0]) { vector<array<int, 3>> nw; for (int j = 0; j < v.size(); j++) { if (j != i && j != (i + 1) % (int)v.size()) { nw.push_back(v[j]); } else if (j == i) { nw.push_back({6 - v[i][0] - v[(i + 1) % (int)v.size()][0], v[i][1], v[(i + 1) % (int)v.size()][2]}); } } if (ok(nw)) { res.push_back({v[i][1], v[(i + 1) % (int)v.size()][2], 6 - v[i][0] - v[(i + 1) % (int)v.size()][0]}); return 1; } else if (++cnt == 5) return 0; } } return 0; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; vector<array<int, 3>> v; for (int i = 0; i < n; i++) { char ch; cin >> ch; v.push_back({ch - '0', i + 1, (i + 1) % n + 1}); } if (!ok(v)) cout << "NE\n"; else { cout << "DA\n"; for (array<int, 3> &x : res) cout << x[0] << ' ' << x[1] << ' ' << x[2] << '\n'; } }

Compilation message (stderr)

trobojnica.cpp: In function 'int ok(std::vector<std::array<int, 3> >&)':
trobojnica.cpp:21:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<int, 3> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |   for (int i = 0; i < v.size(); i++)
      |                   ~~^~~~~~~~~~
trobojnica.cpp:26:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<int, 3> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |       for (int j = 0; j < v.size(); j++)
      |                       ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...