Pagini recente » Cod sursa (job #1832009) | Cod sursa (job #960821) | Cod sursa (job #690994) | Cod sursa (job #546192) | Cod sursa (job #125666)
Cod sursa(job #125666)
#include<stdio.h>
#include<mem.h>
int main ()
{
long j,v[10000],i,n,d,a[100][100],c=1,l,grupa[10000],poz=1;
int ok;
FILE *f;
f=fopen("partitie.in","r");
fscanf(f,"%ld%ld",&n,&d);
for (i=1;i<=n;++i)
{
fscanf(f,"%ld",&v[i]);
}
fclose(f);
grupa[1]=1;
memset(a,-1,sizeof(a));
a[1][1]=v[1];
for (i=2;i<=n;++i)
{
ok=0;
for (j=1;j<=c&&!ok;++j)
{
ok=0;
for (l=1;l!=-1&&!ok;++l)
{
printf("%ld",a[j][l]);
if (a[j][l]-v[i]<=d||v[i]-a[j][l]<=d)
ok=1;
}
if (!ok)
{
j=c+1;
a[l][j]=v[i];
grupa[++poz]=j;
}
}
if (ok)
{
a[1][++c]=v[i];
grupa[++poz]=c;
grupa[1]++;
}
}
f=fopen("partitie.out","w");
for (i=1;i<=poz;++i)
fprintf(f,"%ld\n",grupa[i]);
fclose(f);
return 0;
}