Mai intai trebuie sa te autentifici.
Cod sursa(job #2040853)
Utilizator | Data | 16 octombrie 2017 17:02:49 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.37 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m;
int tabla[20][20];
int SumaCol(int col)
{
int sumaCol = 0;
for(int i = 1; i <= n; i++)
sumaCol += tabla[i][col];
return sumaCol;
}
int SumaLinie(int linie)
{
int sumaLinie = 0;
for(int i = 1; i <= m; i++)
sumaLinie += tabla[linie][i];
return sumaLinie;
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= m; j++)
{
fin >> tabla[i][j];
}
}
int imbunatatire = 0, index;
do
{
index = 0;
imbunatatire = 1;
for(int i = 1; i <= n; i++)
if(imbunatatire > SumaLinie(i)) {imbunatatire = SumaLinie(i); index = i*10 + 1;}
for(int i = 1; i <= m; i++)
if(imbunatatire > SumaCol(i)) {imbunatatire = SumaCol(i); index = i * 10 + 2;}
if(index%10 == 1)
for(int i = 1; i <= m; i++)
tabla[index/10][i] *= -1;
else if( index % 10 == 2)
for(int i = 1; i <= n; i++)
tabla[i][index/10] *= -1;
}while(imbunatatire < 0);
int suma = 0;
for(int i = 1; i <= n; i++)
{
suma += SumaLinie(i);
}
fout<<suma;
return 0;
}