Pagini recente » Cod sursa (job #1999941) | Cod sursa (job #1892929) | Cod sursa (job #2569473) | Cod sursa (job #1611658) | Cod sursa (job #1371908)
#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 = 1;
if (n != 1)
{
ki = false;
if (X[0] == 2)
megold_b();
else
megold_c();
}
if (n == 1)
g << "1\n";
else if (p == n - 1)
g << "1\n";
else
g << "0\n";
}
}
bool megold_b()
{
if (ki)
return false;
if (X[p] == 2)
{
p++;
megold_b();
return false;
}
if (X[p] == 1)
{
if (X[p + 2] != 3)
{
p = 0;
return false;
}
p+=4;
megold_c();
return false;
}
if (X[p] == 3)
{
p = 0;
ki = true;
}
return false;
}
bool megold_c()
{
if (ki)
return false;
if(X[p] == 2)
return false;
if(X[p] == 3)
{
p++;
megold_b();
p++;
megold_c();
return false;
}
if (X[p] == 1)
{
if (X[++p] != 2)
{
p = 0;
ki = true;
return false;
}
p++;
return false;
}
}