Cod sursa(job #2257296)

Utilizator RaKketRakket RaKket Data 9 octombrie 2018 21:46:53
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include<fstream>
using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");



int a[17][17], b[17][17], n, m;

int sum(int n, int m)
{
	int s = 0;
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=m; j++)
		{
			s=s+a[i][j];
		}
	}
	return s;
}

int sumcol(int x, int y)
{
	int cola = 0, colb = 0;
	for(int i=1; i<=y; ++i)
	{
		cola = cola + a[i][x];
		colb = colb + b[i][x];
 	}
 	if(cola < colb)
 	{
		return true;
	} else
		{
			return false;
		}
}

int sumrow(int x, int y)
{
	int rowa = 0, rowb = 0;
	for(int i=1; i<=y; ++i)
	{
		rowa = rowa + a[x][i];
		rowb = rowb + b[x][i];
 	}
 	if(rowa < rowb)
 	{
		return true;
	} else
		{
			return false;
		}
}







int main()
{
	fin>>n>>m;
	for(int i=1; i<=n; ++i)
		{
			for(int j=1; j<=m; ++j)
			{
				fin>>a[i][j];
				b[i][j] = a[i][j] * (-1);
			}
		}
	
	
	
	for(int i=1; i<=n; ++i)
	{
		if(sumcol(i, m))
		{
			for(int j=1; j<=m; ++j)
				{
					a[j][i] *= (-1);
				}
			fout<<"\n"<<i<<"\n";
		}
	}
	
	for(int i=1; i<=m; ++i)
	{
		if(sumrow(i, n))
		{
			for(int j=1; j<=n; ++j)
				{
					a[i][j] *= (-1);
				}
			fout<<"\n"<<i<<"\n";
		}
	}
	
	fout<<sum(n, m);
	
	
	
	
	return 0;
	
	
}