Pagini recente » Statisticile problemei Sport2 | Cod sursa (job #1357429) | Cod sursa (job #1870473) | Cod sursa (job #2652947) | Cod sursa (job #2427279)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int suma(int n,int m,int a[][17])
{
int suma=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
suma+=a[i][j];
}
return suma;
}
void inmulteste(int n,int m,int a[][17],int nr, char c)
{
if(c=='c')
{
for(int i=1;i<=n;i++)
{
a[i][nr]*=-1;
}
}
else
if(c=='l')
{
for(int i=1;i<=m;i++)
{
a[nr][i]*=-1;
}
}
}
int main()
{
int stiva[40],n,m,a[17][17],M=0,i,o;
f>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
f>>a[i][j];
}
for(i=1;i<=n+m;i++)
stiva[i]=-1;
int k=1;
while(k>=1)
{
stiva[k]++;
if(stiva[k]<=1)
{
if(k==n+m)
{
for(i=1;i<=n;i++)
if(stiva[i]==1)
inmulteste(n,m,a,i,'l');
for(i=n+1;i<=n+m;i++)
if(stiva[i]==1)
inmulteste(n,m,a,i-n,'c');
o=suma(n,m,a);
if(o>M)
M=o;
for(i=1;i<=n;i++)
if(stiva[i]==1)
inmulteste(n,m,a,i,'l');
for(i=n+1;i<=n+m;i++)
if(stiva[i]==1)
inmulteste(n,m,a,i-n,'c');
}
else
k++;
}
else
{
stiva[k]=-1;
k--;
}
}
g<<M;
}