2162 | 2022. 12. 26 21:07:56 | abelke2 | Táblajáték | cpp17 | Elfogadva 50/50 | 3ms | 3876 KiB |
#include <iostream>
#include <deque>
#define ull unsigned long long
using namespace std;
int n = 0;
int lepessor[500];
void beolvas()
{
cin >> n;
for (int i = 0; i <= n - 1; ++i)
{
cin >> lepessor[i];
}
}
void kiir_oszlop(deque <int> &oszlop, int index)
{
int k = 0;
while (k <= index-1 && oszlop[k] == 0) //atugrom a felesleges nullakat
{
++k;
}
while (k <= index) //kiiratas
{
cout << oszlop[k];
++k;
}
}
void bejar(int n, int lepessor[])
{
int sor = 0;
deque <int> oszlop;
oszlop.resize(501);
for (auto e : oszlop)
{
e = -1;
}
oszlop[0] = 0;
int index = 0;
for (int i = 0; i <= n - 1; ++i)
{
if (lepessor[i] == 0)//balra lefele
{
++sor;
++index;
oszlop[index] = 0;
}
else if (lepessor[i] == 1)//jobbra lefele
{
++sor;
++index;
oszlop[index] = 1;
}
else if (lepessor[i] == 2)//felfele
{
--sor;
//oszlop[index] = 0;
--index;
}
else if (lepessor[i] == 3)//balra - hatulrol az elso 1-es 0 lesz, a tobbi mogotte 1
{
int k = index;
while (oszlop[k] != 1) //elmegyek az elso 1-ig
{
--k;
}
oszlop[k] = 0; //0-ra allitom
++k;
while (k <= index) //majd vegigmegyek a hata fele es mindent beegyesezek
{
oszlop[k] = 1;
++k;
}
}
else if (lepessor[i] == 4)//jobbra - leszimulalom az osszeadast elso osztalybol
{
int maradek = 0;
int k = index;
do
{
maradek = 0;
if (oszlop[k] == 1)
{
oszlop[k] = 0;
maradek = 1;
}
else
{
oszlop[k] = 1;
maradek = 0;
}
--k;
} while (maradek == 1 && k>=0);
}
}
cout << sor << "\n";
kiir_oszlop(oszlop, index);
}
int main()
{
beolvas();
bejar(n, lepessor);
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1688 KiB | |||
2 | Elfogadva | 0/0 | 2ms | 1856 KiB | |||
3 | Elfogadva | 3/3 | 2ms | 2056 KiB | |||
4 | Elfogadva | 3/3 | 2ms | 2296 KiB | |||
5 | Elfogadva | 3/3 | 2ms | 2496 KiB | |||
6 | Elfogadva | 3/3 | 2ms | 2668 KiB | |||
7 | Elfogadva | 3/3 | 2ms | 2744 KiB | |||
8 | Elfogadva | 3/3 | 2ms | 2868 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 3092 KiB | |||
10 | Elfogadva | 3/3 | 2ms | 3280 KiB | |||
11 | Elfogadva | 3/3 | 2ms | 3388 KiB | |||
12 | Elfogadva | 3/3 | 2ms | 3592 KiB | |||
13 | Elfogadva | 4/4 | 2ms | 3668 KiB | |||
14 | Elfogadva | 4/4 | 2ms | 3672 KiB | |||
15 | Elfogadva | 4/4 | 2ms | 3868 KiB | |||
16 | Elfogadva | 4/4 | 2ms | 3876 KiB | |||
17 | Elfogadva | 4/4 | 2ms | 3872 KiB |