Cod sursa(job #2494292)
| Utilizator | Data | 17 noiembrie 2019 17:23:41 | |
|---|---|---|---|
| Problema | Jocul Flip | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.34 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int main ()
{
int n, m, v[17][17], b[17]={0}, smax, s, k, a[17]={0};
f>>n>>m;
smax=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
f>>v[i][j];
smax+=v[i][j];
}
}
while(a[1]==0)
{
for(int i=0;i<=m;i++)
{
b[i]=0;
}
while(b[1]==0)
{
s=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(b[j]==0&&a[i]==0)
{
s+=v[i][j];
}
else
{
s=s-v[i][j];
}
}
}
if(s<0)
{
s=-s;
}
smax=max(s, smax);
for(k=m;b[k]==1;k--)
{
b[k]=0;
}
b[k]=1;
for(int i=1;i<=m;i++)
{
cout<<b[i];
}
cout<<endl;
}
for(k=n;a[k]==1;k--)
{
a[k]=0;
}
a[k]=1;
}
g<<smax;
return 0;
}
