Pagini recente » Rating Kolu dragos (Kolu_97) | Cod sursa (job #1812345) | Cod sursa (job #1730967) | Cod sursa (job #200913) | Cod sursa (job #1126779)
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
#define nmax 10
int sum[nmax], a[517][517], sol[nmax], n;
bool ok;
bool Check(int a)
{
for( int i = 1; i <= 9; ++i )
if( sol[i] == a )
return true;
return false;
}
int main()
{
freopen("zone.in", "r", stdin );
freopen("zone.out", "w", stdout);
scanf("%d", &n);
for( int i = 1; i <= 9; ++i )
scanf("%d", &sol[i]);
sort(sol + 1, sol+10);
for( int i = 1 ; i <= n; ++i )
for( int j = 1; j <= n; ++j )
{
scanf("%d", &a[i][j]);
if( i == 1 && j == 1 )
continue;
else
a[i][j] += a[i][j-1] + a[i-1][j] - a[i-1][j-1];
}
for( int l1 = 1; l1 <= n; ++l1 )
for( int c1 = 1; c1 <= n; ++c1 )
if( Check(a[l1][c1]) )
for( int l2 = 1; l2 <= n; ++l2 )
if( Check(a[l2][c1] - a[l1][c1]) )
for( int c2 = 1; c2 <= n; ++c2 )
{
sum[1] = a[l1][c1];
sum[2] = a[l1][c2] - sum[1];
sum[3] = a[l1][n] - sum[2] - sum[1];
sum[4] = a[l2][c1] - sum[1];
sum[5] = a[l2][c2] - sum[4] - sum[2] - sum[1];
sum[6] = a[l2][n] - sum[5] - sum[3] - sum[2] - sum[1] - sum[4];
sum[7] = a[n][c1] - sum[4] - sum[1];
sum[8] = a[n][c2] - 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 );
cin.get();
cout << "ok " << sum[1] << ' ' << a[2][2] << ' ';
for( int i = 1; i <= 9; ++i )
if( sum[i] != sol[i] )
ok = true;
if( ok == false ){
printf( "%d%d%d%d\n", l1, l2, c1, c2 );
return 0;
}
}
return 0;
}