Pagini recente » Cod sursa (job #1268163) | Profil angelking777 | Cod sursa (job #368433) | Cod sursa (job #1031270) | Cod sursa (job #1112682)
#include <cstdio>
#include <algorithm>
#define NMAX 517
using namespace std;
int Sol[17], a[NMAX][NMAX], Sum[17];
int n;
inline bool verif(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("%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]);
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(verif(a[l1][c1]) == 1)
for(int l2 = 1; l2 <= n; ++l2)
if(verif(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 = 1;
if(ok == 0){
printf("%d %d %d %d\n", l1, l2, c1, c2);
return 0;
}
}
printf("-1");
return 0;
}