Cod sursa(job #43463)

Utilizator arenakadaffKadaff arenakadaff Data 30 martie 2007 09:16:08
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>


long v1[32650] , v2[32650] , n , s , cr , i , nr ;


int abs(int a)
{
	if(a < 0) return a * (-1) ;
	else return a ;
}


int main()
{
	FILE *in , *out ;
	in = fopen("1-sir.in" , "rt") ;
	out = fopen("1-sir.out" , "wt") ;
	fscanf(in , "%ld%ld" , &n , &s) ;
	if(s < 0) s *= - 1 ;
	v2[0] = 1 ;
	nr = 2 ;
	while(0 < 5)
	{
		cr = nr * (nr - 1) / 2 ;
		for(i = 0 ; i <= cr ; i++)
		{
			v1[i] += v2[abs(i - nr + 1)] ;
			v1[i] += v2[i + nr - 1] ;
			v1[i] %= 194767 ;
		}
		if(nr >= n) break ;
		nr++ ;
		cr = nr * (nr - 1) / 2 ;
		for(i = 0 ; i <= cr ; i++)
		{
			v2[i] += v1[abs(i - nr + 1)] ;
			v2[i] += v1[i + nr - 1] ;
			v2[i] %= 194767 ;
		}
		if(nr >= n) break ;
		nr++ ;
	}
	if(n % 2 == 1) fprintf(out , "%ld" , v2[s]) ;
	else fprintf(out , "%ld" , v1[s]) ;
	return 0 ;
}