Cod sursa(job #253767)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 6 februarie 2009 12:18:41
Problema Episoade Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 1.16 kb
#include<fstream>
#include<cstring>
#include<algorithm>

using namespace std;

int a[101],i,j,m[101][101],n,t,x=1,y=1,v[101],ex[101],test,b,ok,k;
char s[1001];

int main()
{       ifstream fin("episoade.in");
        ofstream fout("episoade.out");
        fin.getline(s,1000);
        fin>>t>>n;
        for(i=0;s[i]!=NULL;i++)
        {       if(s[i]!='#'&&s[i]!='>') {m[x][y]=(int)s[i]-48;y++;m[x][0]++;}
                if(s[i]=='#') {x++;y=1;}
        }
        for(i=1;i<=x;i++)
                a[i]=i;
        for(test=1;test<=t;test++)
        {       do
                {       k=1;
                        for(i=1;i<=x;i++)
                                for(j=1;j<=m[a[i]][0];j++)
                                {       v[k]=m[a[i]][j];
                                        k++;
                                }
                        for(b=1;b<=n;b++) fin>>ex[b];
                        ok=1;
                        for(b=1;b<=n;b++)
                                if(v[b]!=ex[b]){ok=0;break;}
                }
                while(next_permutation(a+1,a+x+1)&&!ok);
                fout<<ok<<'\n';
        }
        return 0;
}