Cod sursa(job #1504911)
| Utilizator | Data | 18 octombrie 2015 15:46:56 | |
|---|---|---|---|
| Problema | Jocul Flip | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.25 kb |
#include <iostream>
#include <fstream>
using namespace std;
int v[19][19], l, f[33], smax, m, n;
void test()
{
int s=0,j,i,k,sum;
for(i=1;i<=n;i++)
{
sum=0;
for(j=1;j<=m;j++)
if(f[j]==1)
sum-=v[i][j];
else
sum+=v[i][j];
if(sum<0)
s=s-sum;
else
s=s+sum;
if(s>smax)
smax=s;
}
}
void bk()
{
int i=1;
f[i]=0;
while(i>0)
{
if(f[i]<2)
{
f[i]++;
if(i==m)
{
test();
}
else
{
i++;
f[i]=0;
}
}
else i--;
}
}
int main()
{
int i, j, s=0;;
ifstream g ("flip.in");
ofstream h ("flip.out");
g>>n>>m; ///n- nr linii , m-nr coloanei
l=m+n; ///i-n, j-m
for(i=1;i<=n;i++) //citire si suma
{
s=0;
for(j=1;j<=m;j++)
{
g>>v[i][j];
s=s+v[i][j];
}
smax+=s;
}
bk();
h<<smax;
g.close();
h.close();
return 0;
}
