Cod sursa(job #267032)

Utilizator c_sebiSebastian Crisan c_sebi Data 26 februarie 2009 17:24:13
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>

int l[1001][1001], n, nr[1001];

int main(){
	FILE *f=fopen("custi.in", "r");
	FILE *g=fopen("custi.out", "w");
	fscanf(f, "%d", &n);
	int i, j, x, d;
	for(i = 1; i <= n; i++)
		for(j = 1; j <= n; j++){
			fscanf(f, "%d", &x);
			if(!x) {l[i][j] = 0; }
			else {l[i][j] = l[i][j-1];  if(l[i][j]>l[i-1][j]) l[i][j] = l[i-1][j];
						if(l[i][j]>l[i-1][j-1]) l[i][j]=l[i-1][j-1];
						l[i][j]++;}
			nr[l[i][j]]++;
		}
	int S = nr[n];
	for(i = n-1; i; i--){
		nr[i] += nr[i+1];
	}
	for(i = 1; i <= n; i++)
		fprintf(g, "%d\n", nr[i]);
	fclose(f);
	fclose(g);
	return 0;
}