Cod sursa(job #253709)

Utilizator raduzerRadu Zernoveanu raduzer Data 6 februarie 2009 11:39:09
Problema Episoade Scor 50
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 0.81 kb
#include <cstdio>
#include <cstring>

const int MAX_L = 1010;
const int MAX_N = 110;

int t, n, m;
char s[MAX_L];
int f[MAX_N]; 

void solve()
{
	int i = 0, prev = 0, q = 0;
	
	while (i < m)
	{
		int nr = 0;
		
		while (s[i] >= '0' && s[i] <= '9') 
		{
			nr = nr * 10 + (s[i] - '0');
			++i;
		}
		
		if (q) f[prev] = nr;
		
		prev = nr;
		q = 0;
		
		if (s[i] == '>') q = 1;
		++i;
	}
}

int main()
{
	freopen("episoade.in", "r", stdin);
	freopen("episoade.out", "w", stdout);
	
	scanf("%s\n", s);
	m = strlen(s);
	
	solve();
	
	scanf("%d %d", &t, &n);

	for (; t; --t)
	{
		int x, y = 0, q = 1;
		
		for (int i = 1; i <= n; ++i)
		{
			scanf("%d", &x);
			
			if (f[y] && f[y] != x) q = 0;
			y = x;
		}
		
		if (f[y] && f[y] != 0) q = 0;
		
		printf("%d\n", q);
	}
}