Pagini recente » Cod sursa (job #1424104) | Cod sursa (job #805955) | Cod sursa (job #54372) | Cod sursa (job #2568740) | Cod sursa (job #43466)
Cod sursa(job #43466)
#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 ;
}