Pagini recente » Cod sursa (job #664279) | Cod sursa (job #2178253) | Cod sursa (job #1294103) | Cod sursa (job #902517) | Cod sursa (job #1128705)
#include <cstdio>
#include <algorithm>
#define NMAX 517
using namespace std;
int sol[17], a[NMAX][NMAX], sum[17];
int n;
bool Check(int a)
{
for(int i = 1; i <= 9; ++i)
if(sol[i] == a)
return 1;
return 0;
}
int main(){
freopen("zone.in", "r", stdin);
freopen("zone.out", "w", stdout);
scanf("%i", &n);
for(int i = 1; i <= 9; ++i)
scanf("%i", &sol[i]);
sort(sol + 1, sol + 10);
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
{
scanf("%i", &a[i][j]);
a[i][j] = a[i][j - 1] + a[i - 1][j] + a[i][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]) == 1)
for(int l2 = 1; l2 <= n; ++l2)
if(Check(a[l2][c1] - a[l1][c1]) == 1)
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);
bool ok = 0;
for(int i = 1; i <= 9; ++i)
if(sum[i] != sol[i])
ok = true;
if(ok == false)
{
printf("%i %i %i %i\n", l1, l2, c1, c2);
return 0;
}
}
return 0;
}