Cod sursa(job #2547629)
Utilizator | Data | 15 februarie 2020 15:39:37 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("filip.in");
ofstream fout("filip.out");
int suma(int a[][17],int n,int m, int aux[])
{
int sum=0,i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
sum=sum+(a[i][j]*aux[i]*aux[n+j]);
}
}
return sum;
}
int main()
{
int n,m,max=0;
fin>>n>>m;
int i,j;
int a[17][17];
for (i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fin>>a[i][j];
}
}
int v[n+m+1];
int aux[n+m+1];
int k=1;
int N=n+m;
v[k]=-1;
while(k>0)
{
if (k<=N)
{
if (v[k]<1)
{
v[k]++;
if (k==N)
{
for(i=1;i<=N;i++)
{
if (v[i] == 0)
{
aux[i]=-1;
}
else
{
aux[i]=1;
}
}
int cop=suma(a,n,m,aux);
if (max < cop)
{
max=cop;
}
}
else
{
k++;
v[k]=-1;
}
}
else
{
k--;
}
}
}
fout<<max;
return 0;
}