Nu exista pagina, dar poti sa o creezi ...
Cod sursa(job #3229080)
Utilizator | Data | 13 mai 2024 18:17:10 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.51 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,ma[20][20];
void c(int j)
{
for(int i =0;i<n;i++)
ma[i][j]*=-1;
}
void l(int i)
{
for(int j =0;j<m;j++)
ma[i][j]*=-1;
}
int af()
{
long long s=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
s+=ma[i][j];
return s;
}
int main()
{
fin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fin>>ma[i][j];
long long s=ma[0][0],s1=ma[0][0];
for(int i =1;i<n;i++)
s+=abs(ma[i][0]);///suma pe prima coloana
for(int j=1;j<m;j++)
s1+=abs(ma[0][j]);///sua pe prima liinie
if(s1<=s)
{
for(int i=0;i<n;i++)
{
long long as=0;
for(int j=0;j<m;j++)
as+=ma[i][j];
if(as<0)
l(i);
}
for(int j=1;j<m;j++)
{
long long ba=0;
for(int i=0;i<n;i++)
ba+=ma[i][j];
if(ba<0)
c(j);
}
}
else
{
for(int j=0;j<m;j++)
{
long long as=0;
for(int i=0;i<n;i++)
as+=ma[i][j];
if(as<0)
c(j);
}
for(int i=1;i<n;i++)
{
long long ba=0;
for(int j=0;j<m;j++)
ba+=ma[i][j];
if(ba<0)
l(i);
}
}
fout<<af();
return 0;
}