Cod sursa(job #551906)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 11 martie 2011 12:19:38
Problema Zone Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.38 kb
#include <fstream>
#include <algorithm>
using namespace std;
#define DIM 514
#define INF (1 << 28) - 1

ifstream f ("zone.in");
ofstream g ("zone.out");

int N, A[DIM][DIM], P[DIM][DIM], S[11], R[11], V[11], L1, L2, C1, C2, l1, l2, c1, c2;

int cauta (int p, int val)
{
	
	
}

int second ()
{
	int s1, s2, s3;
	for (L1 = 1; L1 < N - 1; L1++)
		for (s1 = 1; s1 <= 9; s1++)
			if (!V[s1])
			{
				V[s1] = 1;
				C1 = cauta (1, S[s1]);
				for (s2 = 1; s2 <= 9; s2++)
					if (!V[s2])
					{
						V[s2] = 1
						L2 = cauta (L1 + 1, S[s2]);
						for (s3 = 1; s3 <= 9; s3++)
							if (!V[s3])
							{
								V[s3] = 1;
								C2 = cauta (C1 + 1, S[s3]);
								R[1] = s1, R[2] = s2, R[4] = s3;
								R[3] = P[N][C2] - R[1] - R[2]; 
								R[5] = P[L2][C2] - R[1] - R[2] - R[4];
								R[6] = P[N][C2] - R[1] - R[2] - R[3] - R[4] - R[5];
								R[7] = P[L1][N] - R[1] - R[4];
								R[8] = P[L2][N] - R[1] - R[2] - R[4] - R[5] - R[7]; 
								
								
							}						
						V[s2] = 0;
					}					
				V[s1] = 0;
			}
			
	
}

int main (){
	int i, j;
	
	f >> N;
	for (i = 1; i <= 9; i++)
		f >> S[i];
	sort (S + 1, S + 10);
	for (i = 1; i <= N; i++)
		for (j = 1; j <= N; j++)
		{
			f >> A[i][j];
			P[i][j] = A[i][j] + P[i-1][j] + P[i][j-1] - P[i-1][j-1];			
		}
	second ();
	g << L1 << ' ' << L2 << ' ' << C1 << ' ' << C2;
	return 0;
}