Pagini recente » Cod sursa (job #2740537) | Cod sursa (job #3146824) | Cod sursa (job #1451305) | Cod sursa (job #1046531) | Cod sursa (job #13316)
Cod sursa(job #13316)
#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;
}