Pagini recente » Cod sursa (job #2820323) | Cod sursa (job #612602) | Cod sursa (job #1491462) | Cod sursa (job #2386373) | Cod sursa (job #1481334)
#include <fstream>
#include <climits>
using namespace std;
int n,m,a[17][17],smax=-INT_MAX,l[17],c[17];
void Citeste()
{
ifstream f("flip.in");
f>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
f>>a[i][j];
f.close();
}
int GetMax()
{
int s=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
s+=a[i][j]*l[i]*c[j];
return s;
}
void Scrie()
{
ofstream g("flip.out");
g<<smax;
g.close();
}
void BackC(int k)
{
for(int i=-1;i<=1;i+=2)
{
c[k]=i;
if(k<m) BackC(k+1);
else smax=max(smax,GetMax());
}
}
void BackL(int k)
{
for(int i=-1;i<=1;i+=2)
{
l[k]=i;
if(k<n) BackL(k+1);
else BackC(1);
}
}
int main()
{
Citeste();
BackL(1);
Scrie();
return 0;
}