Pagini recente » Diferente pentru utilizator/tabara intre reviziile 54 si 53 | Diferente pentru utilizator/tabara intre reviziile 59 si 58 | Diferente pentru utilizator/tabara intre reviziile 42 si 41 | Diferente pentru runda/pre102 intre reviziile 3 si 2 | Cod sursa (job #878706)
Cod sursa(job #878706)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int x[40],n,m,a[20][20],i,j,smax,b[20][20];
void comp()
{
int s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(x[i]+x[n+j]==1)
s=s-a[i][j];
else
s=s+a[i][j];
if (s>smax)smax=s;
}
void bt(int k)
{
for(int i=0;i<=1;i++)
{x[k]=i;
if(k==n+m)
comp();
else bt(k+1);
}
}
int main()
{f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
bt(1);
//comp();
g<<smax;
g.close();
return 0;
}