5745 | 2023. 09. 15 14:55:18 | kukkerman | Táblajáték | cpp14 | Elfogadva 50/50 | 3ms | 3656 KiB |
#include <iostream>
#include <vector>
std::vector<int> beolvas(std::istream &in) {
int k;
in >> k;
std::vector<int> v(k);
for (auto i = 0; i < k; i++) {
in >> v[i];
}
return v;
}
void feldolgoz(const std::vector<int> &lepesek) {
std::string poz{ "1" };
size_t i;
for (auto l : lepesek) {
switch (l) {
case 0: // balra le
poz.push_back('0');
break;
case 1: // jobbra le
poz.push_back('1');
break;
case 2: // fel
poz.pop_back();
break;
case 3: // balra
for (i = poz.size() - 1; poz[i] == '0'; i--) {
poz[i] = '1';
}
poz[i] = '0';
break;
case 4: // jobbra
for (i = poz.size() - 1; poz[i] == '1'; i--) {
poz[i] = '0';
}
poz[i] = '1';
break;
}
}
const auto n = poz.size();
std::cout << n - 1 << '\n';
i = 1u;
for (i = 1u; i < n && poz[i] == '0'; i++) {}
if (i < n) {
for (; i < n; i++) {
std::cout << poz[i];
}
} else {
std::cout << '0';
}
std::cout << std::endl;
}
int main() {
const auto v = beolvas(std::cin);
feldolgoz(v);
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2008 KiB | |||
3 | Elfogadva | 3/3 | 2ms | 2152 KiB | |||
4 | Elfogadva | 3/3 | 3ms | 2352 KiB | |||
5 | Elfogadva | 3/3 | 2ms | 2444 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 2660 KiB | |||
7 | Elfogadva | 3/3 | 2ms | 2744 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 2756 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 2764 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 2896 KiB | |||
11 | Elfogadva | 3/3 | 2ms | 3108 KiB | |||
12 | Elfogadva | 3/3 | 2ms | 3196 KiB | |||
13 | Elfogadva | 4/4 | 2ms | 3332 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3548 KiB | |||
15 | Elfogadva | 4/4 | 2ms | 3632 KiB | |||
16 | Elfogadva | 4/4 | 2ms | 3640 KiB | |||
17 | Elfogadva | 4/4 | 3ms | 3656 KiB |