Cod sursa(job #858490)

Utilizator stoicatheoFlirk Navok stoicatheo Data 18 ianuarie 2013 22:24:20
Problema Perle Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("perle.in");
ofstream g("perle.out");
 
int v[10002];
int rezB(int poz); // imi dadea eroare in functia rezC cum ca rezB
                   // "was not declared in this scope" si doar asa am rezolvat-o..
 
int rezC(int poz)
{
    if (v[poz]==2)
    {
        if (poz==v[0])
            return 1;
        return rezC(poz+1);
    }
    if (v[poz]==1 && v[poz+1]==2)
    {
        if (poz+2==v[0])
            return 1;
        return rezC(poz+3);
    }
    if (v[poz]==3)
        return rezB(poz+1);
    return 0;
}
int rezB(int poz)
{
    if (v[poz]==2)
        return rezB(poz+1);
 
    if (v[poz]==1 && v[poz+2]==3)
        return rezC(poz+4);
 
    return rezC(poz+1);
}
int rezolva()
{
    if (v[0]==1) return 1;
        else if (v[0]==2)
             return 100;
 
    if (v[1]==3)
       return rezC(1);
 
    return rezB(1);
}
int main()
{
    int n, i, j; f>>n;
    for (i=0; i<n; i++)
    {
        f>>v[0];
        for (j=1; j<=v[0]; j++)
            f>>v[j];
        g<<rezolva()<<endl;
        }
    return 0;
}