10786 2024. 04. 12 18:53:08 TomaSajt Táblajáték 2 (70 pont) cpp17 Elfogadva 70/70 3ms 3372 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
  int N = 101;
  vector<int> d(N);
  int row = 0;

  auto mult3 = [&]() {
    d.insert(d.begin(), 0);
    d.resize(N);
  };
  auto div3 = [&]() {
    d.erase(d.begin());
    d.resize(N);
  };
  auto inc = [&]() {
    int i = 0;
    while (d[i] == 2) {
      d[i] = 0;
      i++;
    }
    d[i]++;
  };
  auto dec = [&]() {
    int i = 0;
    while (d[i] == 0) {
      d[i] = 2;
      i++;
    }
    d[i]--;
  };

  int k;
  cin >> k;
  while (k--) {
    int op;
    cin >> op;
    if (op == 0) mult3(), row++;
    else if (op == 1) mult3(), inc(), row++;
    else if (op == 2) mult3(), inc(), inc(), row++;
    else if (op == 3) div3(), row--;
    else if (op == 4) dec();
    else if (op == 5) inc();
  }

  cout << row << '\n';

  auto it = find_if(d.rbegin(), d.rend(), [](int a) { return a != 0; });
  if (it == d.rend()) it--;
  while (it != d.rend()) {
    cout << *it;
    it++;
  }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 70/70
1 Elfogadva 0/0 3ms 2084 KiB
2 Elfogadva 0/0 3ms 2128 KiB
3 Elfogadva 2/2 3ms 2328 KiB
4 Elfogadva 3/3 3ms 2568 KiB
5 Elfogadva 3/3 3ms 2544 KiB
6 Elfogadva 3/3 3ms 2692 KiB
7 Elfogadva 3/3 3ms 2892 KiB
8 Elfogadva 3/3 3ms 2976 KiB
9 Elfogadva 3/3 3ms 3004 KiB
10 Elfogadva 3/3 3ms 3076 KiB
11 Elfogadva 3/3 3ms 3196 KiB
12 Elfogadva 3/3 2ms 3088 KiB
13 Elfogadva 3/3 3ms 3096 KiB
14 Elfogadva 3/3 3ms 3100 KiB
15 Elfogadva 4/4 3ms 3128 KiB
16 Elfogadva 4/4 3ms 3108 KiB
17 Elfogadva 4/4 3ms 3220 KiB
18 Elfogadva 4/4 3ms 3184 KiB
19 Elfogadva 4/4 3ms 3188 KiB
20 Elfogadva 4/4 3ms 3196 KiB
21 Elfogadva 4/4 3ms 3196 KiB
22 Elfogadva 4/4 3ms 3324 KiB
23 Elfogadva 3/3 3ms 3372 KiB