Pagini recente » Cod sursa (job #328689) | Cod sursa (job #3188155) | Cod sursa (job #1333070) | Cod sursa (job #2327120) | Cod sursa (job #520959)
Cod sursa(job #520959)
#include<iostream>
using namespace std;
int A[17][17];
int n;
int m;
void citire(void)
{
FILE *f = fopen("flip.in","r");
fscanf(f,"%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fscanf(f,"%d",&A[i][j]);
fclose(f);
}
void schimbare(int lc, int stare)
{
if(stare == 1)
for(int i = 1;i<=m;i++)
A[lc][i] *= -1;
else
for(int i=1;i<=n;i++)
A[i][lc] *= -1;
}
void selectare(void)
{
int suma;
int gata = 1;
while(gata)
{
gata = 0;
for(int i=1;i<=n;i++)
{
suma = 0;
for(int j=1;j<=m;j++)
suma += A[i][j];
if(suma<=0) { schimbare(i,1); gata = 1; }
}
for(int i=1;i<=m;i++)
{
suma = 0;
for(int j=1;j<=n;j++)
suma += A[j][i];
if(suma<=0) { schimbare(i,2); gata = 1; }
}
}
}
int sumam(void)
{
int suma = 0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
suma += A[i][j];
return suma;
}
int main()
{
FILE *f = fopen("flip.out","w");
citire();
selectare();
fprintf(f,"%d",sumam());
fclose(f);
return 0;
}