Pagini recente » Cod sursa (job #2708232) | Cod sursa (job #2832118) | Cod sursa (job #636623) | Cod sursa (job #1269561) | Cod sursa (job #18685)
Cod sursa(job #18685)
#include <stdio.h>
FILE *f;
long long x[513],b[513],a[10],v[10],s;
int n,q1,q2,p1,p2,e,k,k1,i,j,l,z,z2;
int main()
{f=fopen("zone.in","r");fscanf(f,"%d",&n);
for(i=1;i<=9;i++)fscanf(f,"%ld",&a[i]);
for(i=1;i<=n&&!z;i++)
{for(j=1;j<=n;j++)fscanf(f,"%ld",&b[j]);
for(j=1;j<=n;j++)x[j]+=x[j]+x[j-1]+b[j];}
for(j=1;j<=n&&!z;j++)
{q1=0;for(k=1;k<=9&&!q1;k++)if(x[j]==a[k]){q1=j;v[k]=1;}
if(q1)for(e=j+1;e<=n&&!z;e++)
{q2=0;for(k=1;k<=9&&!z;k++)
if(x[e]-x[q1]==a[k]&&!v[k])
{for(k1=1;k1<=9&&!z;k1++)
if(x[n]-x[e]==a[k1]&&k1!=k&&!v[k1])
{z=1;q2=k;v[k1]=1;v[k]=1;}
}
}
}
}
l=i;p1=i-1;for(i=1;i<=n;i++)x[i]=0;
for(i=l;i<=n&&!z2;i++)
{for(j=1;j<=n;j++)fscanf(f,"%ld",&b[j]);
for(j=1;j<=n;j++)x[j]+=x[j]+x[j-1]+b[j];
{for(k=1;k<=9;k++)if(x[q1]==a[k]&&!v[k])
{for(e=1;e<=9;e++)if(x[q2]-x[q1]==a[e]&&!v[e]&&e!=k)
{for(k1=1;k1<=9&&!z2;k1++)
if(x[n]-x[q2]==a[k1]&&k1!=k&&k1!=e&&!v[k1])
{z2=1;a[k1]=1;a[k]=1;}
}
}
}
}
p2=i-1;
fclose(f);f=fopen("zone.out","w");fprintf(f,"%d %d %d %d",p1,p2,q1,q2);fclose(f);
return 0;
}