Pagini recente » Cod sursa (job #1552285) | Rating Aylin Geafer (aylingeafer) | Cod sursa (job #1619239) | Cod sursa (job #1023714) | Cod sursa (job #1372136)
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int X[10000];
int p;
bool ki;
bool megold_b();
bool megold_c();
int n;
int main()
{
int N, j;
f >> N;
int i;
for (i = 0; i < N; i++)
{
f >> n;
for (j = 0; j < n; j++)
{
f >> X[j];
}
p = 0;
if (n != 1)
{
ki = false;
if (megold_b())
g << "1\n";
else if (megold_c())
g << "1\n";
else
g << "0\n";
}
else
g << "1\n";
}
}
bool megold_b()
{
if (p >= n)
return false;
if (X[p] == 2)
{
p++;
return megold_b();
}
if (X[p] == 1)
{
if (X[p + 2] != 3)
return false;
p += 4;
return megold_c();
}
return false;
}
bool megold_c()
{
if (p >= n)
return false;
if (X[p] == 1 && X[p+1] == 2)
{
if (p + 2 == n - 1)
return true;
else
{
p += 2;
return false;
}
}
if (X[p] == 2)
{
if (p + 1 == n - 1)
return true;
else
{
p++;
return false;
}
}
if (X[p] == 3)
{
bool ki1, ki2;
p++;
ki1 = megold_b();
p++;
ki2 = megold_c();
return (ki2);
}
}