219592026-01-14 11:15:17hunzombiTáblajátékcpp17Elfogadva 50/502ms540 KiB
#include <bits/stdc++.h>
using namespace std;

bool arr[502];

void mult_by_2() {
    bool prev = false;
    for (int i=0; i < 501; i++) swap(arr[i], prev);
}

void divide_by_2() {
    bool prev = false;
    for (int i=501; i >= 0; i--) swap(arr[i], prev);
}

void add_1() {
    int carr = true;
    int i = 0;
    while (carr) {
        if (arr[i] && carr) {
            arr[i] = false;
        }
        else {
            arr[i] = true;
            carr = false;
        }
        i++;
    }
}

void sub_1() {
    int idx = 0;
    while (!(arr[idx])) {
        arr[idx] = 1;
        idx++;
    }
    arr[idx] = 0;
}

void print_a() {
    int idx = 0;
    for (int i=0; i < 502; i++) {
        if (arr[i]) {
            idx = i;
        }
    }
    for (int i = idx; i >= 0; i--) {
        cout << arr[i];
    }
    cout << '\n';
}

int main()
{
    int k;
    long long row = 0;
    cin >> k;
    for (int i=0; i < k; i++) {
        int u;
        cin >> u;
        if (u == 0) {
            row++;
            mult_by_2();
        }
        if (u == 1) {
            row++;
            mult_by_2();
            add_1();
        }
        if (u == 2) {
            row--;
            divide_by_2();
        }
        if (u == 3) {
            sub_1();
        }
        if (u == 4) {
            add_1();
        }
    }
    cout << row << '\n';
    print_a();
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms500 KiB
6Elfogadva3/32ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/32ms316 KiB
9Elfogadva3/32ms536 KiB
10Elfogadva3/32ms540 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms508 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva4/41ms316 KiB
17Elfogadva4/41ms316 KiB