Pagini recente » Cod sursa (job #1843581) | Cod sursa (job #2710361) | Cod sursa (job #2242897) | Cod sursa (job #2372301) | Cod sursa (job #1905610)
/* #include <bits/stdc++.h>
using namespace std;
int main()
{
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,a[16][16];
f>>n>>m;
long long spoz=0,sneg=0,sfin=0,spoz2=0,sneg2=0;0
for (int i=1;i<=n;++i)
{
sneg=0;spoz=0;
for (int j=1;j<=m;j++)
{
f>>a[i][j];
if (a[i][j]>=0) spoz+=a[i][j];
else sneg+=a[i][j];
}
if (spoz<-sneg)
{
for (int j=1;j<=m;j++)
{
a[i][j]=a[i][j]*(-1);
}
}
}
for (int j=1;j<=m;j++)
{
spoz2=0;sneg2=0;
for (int i=1;i<=n;++i) {
if (a[i][j]>=0) spoz2+=a[i][j];
else sneg2+=a[i][j];
}
if (spoz2<-sneg2)
{
for (int i=1;i<=n;++i)
{
a[i][j]=a[i][j]*(-1);
}
}
}
for (int i=1;i<=n;++i)
{
for (int j=1;j<=m;j++)
{
sfin+=a[i][j];
}
}
g<<sfin;
return 0;
} */
#include <bits/stdc++.h>
using namespace std;
void citire(int a[16][16],int &n,int &m)
{
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];
}
int rezolva(int a[16][16],int n,int m,int x)
{
int s,rez=0;
for(int i=1;i<=n;i++)
{
s=0;
for(int j=1;j<=m;j++)
{
s+=(x & (1<<(j-1)))?a[i][j]:-a[i][j];
if(x & (1<<(j-1)))
cout<<"+";
else
cout<<"-";
}
rez+=abs(s);
cout<<endl;
}
cout<<endl;
return rez;
}
int main()
{
int a[16][16],n,m,rez=0;
ofstream g("flip.out");
citire(a,n,m);
for(int ocupat=0;ocupat<(1<<m);ocupat++)
rez=max(rez,rezolva(a,n,m,ocupat));
g<<rez;
return 0;
}