Pagini recente » Cod sursa (job #29125) | Cod sursa (job #2468292) | Cod sursa (job #610581) | arhiva-test | Cod sursa (job #2929686)
#include <fstream>
using namespace std;
ifstream fin("perle.in");
ofstream fout("perle.out");
int n, m, i, j, sir[10005];
int B(int a);
int C(int a);
int main()
{
fin >> n;
for(i = 0; i < n; i++)
{
fin >> m;
for(j = 0; j < m; j++)
{
fin >> sir[j];
}
if(m == 1 || B(0) + 1 == m || C(0) + 1 == m)
{
fout << "1\n";
}
else
{
fout << "0\n";
}
}
return 0;
}
int B(int a)
{
if(sir[a] == 2)
{
return B(a + 1);
}
else if(sir[a] == 1 && sir[a + 2] == 3 && sir[a + 4] != 0)
{
return C(a + 4);
}
else
{
return -1;
}
}
int C(int a)
{
if(sir[a] == 2)
{
return a;
}
else if(sir[a] == 3 && sir[a + 1] != 0 && sir[a + 2] != 0)
{
int s = B(a + 1);
return C(s + 1);
}
if(sir[a] == 1 && sir[a + 1] == 2 && sir[a + 2] != 0)
{
return a + 2;
}
else
{
return -1;
}
}