Cod sursa(job #1245847)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 20 octombrie 2014 09:25:49
Problema Zone Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.84 kb
#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;
}