Submission #685299

#TimeUsernameProblemLanguageResultExecution timeMemory
685299grossly_overconfidentCounting Mushrooms (IOI20_mushrooms)C++17
0 / 100
1 ms208 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; vector<int> decipher(int a, int b, int c) { vector<int> m = { a, 0, b, c }; int c1 = use_machine(m); if (c1 == 0) { m = { 0, 0, 0 }; return m; } if (c1 == 3) { m = { 1, 1, 0 }; return m; } if (c1 == 2) { m = { b, a, 0, c }; c1 = use_machine(m); if (c1 == 1) { m = { 0, 1, 0 }; } else if (c1 == 3) { m = { 1, 0, 1 }; } else if (c1 == 2) { m = { 1, 1, 1 }; } return m; } m = { b, 0, c }; c1 = use_machine(m); if (c1 == 0) { m = { 1, 0, 0 }; } else if (c1 == 1) { m = { 0, 0, 1 }; } else if (c1 == 2) { m = { 0, 1, 1 }; } return m; } int count_mushrooms(int n) { int count = 0; int i = 0; while (i + 2 <= n - 1) { vector<int> take = decipher(i, i + 1, i + 2); if (take[0] == 0) { ++count; } if (take[1] == 0) { ++count; } if (take[2] == 0) { ++count; } i += 3; } if ((n - 1) % 3 == 1) { if (use_machine({ n - 1, 0 }) == 0) { ++count; } } if ((n - 1) % 3 == 2) { int take2 = use_machine({ n - 1, 0, n - 2 }); if (take2 == 0) { count += 2; } else if (take2 == 1) { ++count; } } return count; }
#Verdict Execution timeMemoryGrader output
Fetching results...