Cod sursa(job #465601)

Utilizator irene_mFMI Irina Iancu irene_m Data 24 iunie 2010 21:27:45
Problema Episoade Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int n,t,nr,a[105],x[105];
char s[1005],aux[3],c[3];

ifstream fin("episoade.in");
void citstr()
{
	int j,y=0,sw=1;
	fin.get(s,1005,'\n'); fin.get();
	nr=strlen(s);
	j=0;
	while(j<nr)
	{
		while(s[j]!='#' && s[j]!='>' && j<nr)
			j++;
		strncpy(aux,s+y,abs(y-j));
		aux[abs(y-j)]='\0';
		if(!sw)
		{
			a[atoi(c)]=atoi(aux);
			sw=1;
		}
		if(s[j]=='#')
			a[atoi(aux)]=-1;
		else
			sw=0;
		strcpy(c,aux);
		y=j+1;
		j++;
	}
	if(a[atoi(c)]==0)
		a[atoi(c)]=-1;
}

int ok()
{
	int i;
	for(i=1;i<n;i++)
		if(a[x[i]]!=-1 && a[x[i]]!=x[i+1])
			return 0;
	return 1;
}


void cit()
{
	int sw,i,j;
	fin>>t; fin>>n;
	ofstream fout("episoade.out");
	for(i=1;i<=t;i++)
	{
		for(j=1;j<=n;j++)
			fin>>x[j];
		fout<<ok()<<'\n';
	}
	fin.close();
}



int main()
{
	citstr();
	cit();
	return 0;
}