Pagini recente » Cod sursa (job #1174044) | Cod sursa (job #473530) | Cod sursa (job #2813) | PAGINA LUI VI$$U | Cod sursa (job #18217)
Cod sursa(job #18217)
#include<stdio.h>
long x[513][513],i,j,a,b,c,d,n,m,v[10];
int correct(int a,int b, int c, int d)
{
int i,j;
int sum=0;
if (a==2 && b==3 && c==3 && d==3)
sum=0;
for (i=1;i<=a-1;i++)
for (j=1;j<=b-1;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=1;i<=a-1;i++)
for (j=b;j<=d;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=1;i<=a-1;i++)
for (j=d+1;j<=n;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=a;i<=c;i++)
for (j=1;j<=b-1;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=a;i<=c;i++)
for (j=b;j<=d;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=a;i<=c;i++)
for (j=d+1;j<=n;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=c+1;i<=n;i++)
for (j=1;j<=b-1;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
for (i=c+1;i<=n;i++)
for (j=b;j<=d;j++)
sum+=x[i][j];
for (i=1;i<=9;i++)
if (sum==v[i]) break;
if (i==10) return 0;
sum=0;
return 1;
}
int main()
{
freopen ("zone.in","rt",stdin);
freopen ("zone.out","wt",stdout);
scanf("%ld",&n);
for (i=1;i<=9;i++) scanf("%ld",&v[i]);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
scanf("%ld",&x[i][j]);
for (a=2;a<=n-1;a++)
for (b=2;b<=n-1;b++)
{
for (c=a;c<=n-1;c++)
for (d=b;d<=n-1;d++)
{
if (correct(a,b,c,d))
{
printf("%d %d %d %d\n",a-1,b,c-1,d);return 0;
}
}
}
return 0;
}