Cod sursa(job #3213955)

Utilizator DavidPopPopescu David DavidPop Data 13 martie 2024 17:14:15
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,sum,s,maxim,v[1002],a[20][20];
int main()
{fin>>n>m;
for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)fin>>a[i][j];
while(v[0]==0)
{j=m
while(v[j]==1)v[j]=0,j--;
v[j]=1;
sum=0;
for(int i=1;i<=n;i++)
{s=0;
for(int j=1;j<=m;j++)
    if(v[j]==0)s+=a[i][j];
else s-=a[i][j];
if(s>0)sum+=s;
else sum-=s;
}
if(sum>maxim)maxim=sum;
}
fout<<maxim;
return 0;
}


























/*#include <bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m, b[20][20],a[20];
int main()
{int j, i,smax = INT_MIN,stot;
fin >> n >> m;
for (i = 1; i <= n; i++)
for ( j = 1; j <= m; j ++)
fin >> b[i][j];
while (a[0] == 0)
{stot = 0;
int s;
for ( i = 1; i <= n; i ++)
{s = 0;
for ( j = 1; j <= m; j ++)
if(a[j] == 0) s+= b[i][j];
else s -= b[i][j];
stot += abs(s);
}
smax = max(smax,stot);
for (j = m; a[j] == 1; j--)
a[j] = 0;
a[j] = 1;
}
fout <<smax <<" ";
return 0;
}