Pagini recente » Istoria paginii runda/hc_bonus_round/clasament | Cod sursa (job #1119635)
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int merita_linie(int a[100][100], int m, int i)
{
int j,sn=0,sp=0;
for(j=0;j<m;j++)
if(a[i][j]>=0)
sp=sp+a[i][j];
else
sn=sn+abs(a[i][j]);
if(sp<sn)
return 1;
else
return 0;
}
int merita_coloana(int a[100][100], int n, int j)
{
int i,sn=0,sp=0;
for(i=0;i<n;i++)
if(a[i][j]>=0)
sp=sp+a[i][j];
else
sn=sn+abs(a[i][j]);
if(sp<sn)
return 1;
else
return 0;
}
void afisare(int a[100][100],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
int main()
{
long int n,m,i,j,suma_max=0; int a[1000][16];
f>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
f>>a[i][j];
for(i=0;i<n;i++)
if(merita_linie(a,m,i)==1)
for(j=0;j<m;j++)
a[i][j]=(a[i][j])*(-1);
for(j=0;j<m;j++)
if(merita_coloana(a,n,j)==1)
for(i=0;i<n;i++)
a[i][j]=a[i][j]*(-1);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
suma_max=suma_max+a[i][j];
g<<suma_max;
return 0;
}