Pagini recente » Cod sursa (job #455782) | Cod sursa (job #254963) | Cod sursa (job #2668906) | Cod sursa (job #2758887) | Cod sursa (job #1245847)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("zone.in");
ofstream g("zone.out");
int i,j,n,m,i1,i2,J,j2;
long long sum[10],Sum[10],a[600][600];
int verificare(long long s)
{
int i,ok=0;
for(i=1;i<=9&&ok==0;++i)
if(sum[i]==s)
ok=1;
return ok;
}
int main()
{
f>>n;
for(i=1;i<=9;++i)
f>>sum[i];
sort(sum+1,sum+10);
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
f>>a[i][j];
a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1];
}
for(i1=1;i1<n;++i1)
for(J=1;J<n;++J)
if(verificare(a[i1][J])==1)
for(i2=i1+1;i2<=n;++i2)
if(verificare(a[i2][J]-a[i1][J])==1)
for(j2=J+1;j2<=n;++j2)
{
Sum[1]=a[i1][J];
Sum[2]=a[i1][j2]-Sum[1];
Sum[3]=a[i1][n]-Sum[2]-Sum[1];
Sum[4]=a[i2][J]-Sum[1];
Sum[5]=a[i2][j2]-Sum[4]-Sum[2]-Sum[1];
Sum[6]=a[i2][n]-Sum[5]-Sum[3]-Sum[2]-Sum[1]-Sum[4];
Sum[7]=a[n][J]-Sum[4]-Sum[1];
Sum[8]=a[n][j2]-Sum[7]-Sum[5]-Sum[4]-Sum[1]-Sum[2];
Sum[9]=a[n][n]-Sum[8]-Sum[3]-Sum[7]-Sum[6]-Sum[5]-Sum[4]-Sum[1]-Sum[2];
sort(Sum+1, Sum+10);
bool ok=0;
for(i=1; i<=9;++i)
if(Sum[i]!=sum[i]) ok=1;
if(ok==0)
{
g<<i1<<" "<<i2<<" "<<J<<" "<<j2<<"\n";
return 0;
}
}
return 0;
}