Cod sursa(job #229784)

Utilizator IsTeeSzasz Istvan IsTee Data 11 decembrie 2008 19:29:00
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include<fstream.h>
#include<conio.h>
#include<math.h>

int main(void) {
	clrscr();
	int n, m; long a[20][20], b;
	ifstream f("flip.in");
	ofstream g("flip.out");
	f>>n; f>>m;
	for(int i=0; i<=n+1; i++)  	{
		a[i][m]=0; a[i][m+1]=0; }
	for(int j=0; j<=m+1; j++)  	{
		a[n][j]=0; a[n+1][j]=0; }

	for(i=0; i<n; i++)
		for(j=0; j<m; j++) 			{
			f>>a[i][j];
			if(a[i][j]>=0)            {
				a[i][m]+=a[i][j];
				a[n][j]+=a[i][j]; }
			else                        {
				a[i][m+1]+=a[i][j];
				a[n+1][j]+=a[i][j]; }   }

	for(i=0; i<n; i++)
		if(a[i][m]<abs(a[i][m+1]))            	{
			b=a[i][m];
			a[i][m]=-a[i][m+1];
			a[i][m+1]=-b;
			for(j=0; j<m; j++)        {
				a[n][j]-=a[i][j];
				a[n+1][j]-=a[i][j];
				a[i][j]=-a[i][j]; }     }

	for(j=0; j<m; j++)
		if(a[n][j]<abs(a[n+1][j]))            	{
			b=a[n][j];
			a[n][j]=-a[n+1][j];
			a[n+1][j]=-b;
			for(i=0; i<n; i++)        {
				a[i][m]-=a[i][j];
				a[i][m+1]-=a[i][j];
				a[i][j]=-a[i][j]; }     }


	for(i=0; i<=n+1; i++)  {
		cout<<'\n';
		for(j=0; j<=m+1; j++)
			cout<<a[i][j]<<" ";   }
	getch(); }