Cod sursa(job #13316)

Utilizator megabyteBarsan Paul megabyte Data 6 februarie 2007 10:33:55
Problema 1-sir Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>
#define INF "1-sir.in"
#define OUF "1-sir.out"
#define NMAX 67584
#define D 33792

int a[NMAX]={0},b[NMAX]={0},n,s,s1,s2,sol;

int main()
{
	register int i,j,k;
	int *p,*q,*aux;
	FILE *in,*out;
	in=fopen(INF,"r");
	out=fopen(OUF,"w");
	fscanf(in,"%d %d",&n,&s);
//        s=n*(n+1)/2;
        s2=n*(n-1)/2;s2=(s2<<1);s2=(s2>>1);
	s1=s2*(-1);
	a[D]=1;
	q=a;p=b;
	printf("%d %d %d\n",s1,s2,q[D+0]);
	for(i=2;i<=n;i++)
	{
		k=i-1;
		for(j=s1;j<=s2;j++)
		{
			p[D+j]=(q[D+j-k]+q[D+j+k])%194767;
		}
		aux=q;q=p;p=aux;
		for(j=s1;j<=s2;j++) printf("%d ",j);
		printf("\n");
                for(j=s1;j<=s2;j++)
		if(j<0) printf(" %d ",q[D+j]);      
		else 	printf("%d ",q[D+j]);
		printf("\n\n");


	}
	//s2=n*(n+1)/2;s1=s2*(-1);
	//for(j=s1;j<=s2;j++) printf("%d ",sum[j+D]);
	fprintf(out,"%d",q[D+s]);
	fclose(in);fclose(out);
	return 0;
}