Cod sursa(job #1341293)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 12 februarie 2015 16:51:17
Problema Perle Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.93 kb
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
int v[10010],i,j,n,m,l,p,r,s,t,ok;
int main()
{
    f>>n;
    for(t=1;t<=n;t++)
    {
        f>>m;
        for(s=1;s<=m;s++)
        {
            f>>v[i];
        }
        i=1;ok=1;
        if(m>1)
                    while(i<=m)
                    {
                        if(v[i]==3)
                        {
                            if(v[i-2]==3&&v[i+1]!=3)
                                ok=1;
                            else
                            if(v[i-2]==1&&v[i-3]!=1)
                            {ok=1;i++;}
                            else
                            {
                                ok=0;break;
                            }
                        }
                        else
                        if(v[i]==2)
                        {
                            if(i+2>m&&v[i-1]==1)
                                break;
                            if(i+1>m)
                                break;
                            if(v[i-1]!=1&&v[i+1]!=3)
                                ok=1;
                            else
                            {
                                ok=0;break;
                            }
                        }
                        else
                        if(v[i]==1)
                        {
                            if(v[i-1]!=1&&v[i+2]==3)
                            {
                                i++;
                            }
                            else
                            if(v[i+1]==2&&i+3>m)
                                break;
                            else
                            {
                                ok=0;break;
                            }
                        }
                        i++;
                    }
        g<<ok<<'\n';
    }
    return 0;
}