Cod sursa(job #1767228)
Utilizator | Data | 28 septembrie 2016 20:24:54 | |
---|---|---|---|
Problema | Zone | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 4.67 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("zone.in");
ofstream g("zone.out");
long long a[550][550],i,ii,j,jj,k,n,u[10],b[550][550],l,c,xx,yy,xx2,yy2;
/*struct abc
{
int x,y,z,t;
} v[1000];
int cmp(abc A,abc B)
{
if(A.x==B.x)
{
/*if(A.y!=B.y)
return A.y<B.y;
else
{
if(A.z!=B.z)
return A.z<B.z;
else
{
if(A.t!=B.t)
return A.t<B.t;
}
}
return A.y<B.y;
}
return A.x<B.x;
}*/
int verif(long long nr)
{
for(int i=1; i<=9; i++)
{
if(nr==u[i])
return 1;
}return 0;
}
int main()
{
f>>n;
for(i=1; i<=9; i++)
f>>u[i];
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
f>>b[i][j];
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
a[i][j]=a[i][j-1]+a[i-1][j]-a[i-1][j-1]+b[i][j];
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
if(verif(a[i][j]))
{
l=i;
c=j;
for(ii=l+1; ii<=n; ii++)
{
if(verif(a[ii][j]-a[i][j]))
{
for(jj=c+1; jj<=n; jj++)
{
if(verif(a[i][jj]-a[i][j])&&verif(a[i][n]-a[i][jj])&&verif(a[n][j]-a[ii][j])&&verif(a[ii][jj]+a[i][j]-a[i][jj]-a[ii][j])&&verif(a[ii][n]-a[i][n]-a[ii][jj]+a[i][jj])&&verif(a[n][n]-a[ii][n]-a[n][jj]+a[ii][jj])&&verif(a[n][jj]-a[ii][jj]-a[n][j]+a[ii][j]))
{
/*v[++k].x=i;v[k].y=j;v[k].z=ii;v[k].t=jj;*/
if(xx==0)
{
xx=i;
yy=j;
xx2=ii;
yy2=jj;
}
else
{
if(xx>i)
{
xx=i;
yy=j;
xx2=ii;
yy2=jj;
}
else
{
if(xx==i)
{
if(yy>j)
{
xx=i;
yy=j;
xx2=ii;
yy2=jj;
}
else
{
if(yy==j)
{
if(xx2>ii)
{
xx=i;
yy=j;
xx2=ii;
yy2=jj;
}
else
{
if(xx2==ii)
{
if(yy2>jj)
xx=i;
yy=j;
xx2=ii;
yy2=jj;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
g<<xx<<" "<<xx2<<" "<<yy<<" "<<yy2;
return 0;
}