Pagini recente » Cod sursa (job #1258255) | Cod sursa (job #1548851) | Cod sursa (job #207098) | Cod sursa (job #1382356) | Cod sursa (job #1792090)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int x[17][17],smax, stop=0;
int n,m;
int getsum()
{
int sa=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
sa = sa + x[i][j]*x[0][j]*x[i][0];
}
}
return sa;
}
int init()
{
for(int a=m;a>=1;a--)
x[a][0]=1;
for(int a=1;a<=n;a++)
x[0][a]=-1;
}
int show(){
for(int a=m;a>=1;a--)
cout<<x[a][0];
for(int a=1;a<=n;a++)
cout<<x[0][a];
cout<<endl;
}
int nextp(){
int lcontinue = 1;
for(int a=n;a>=1;a--)
{
if(x[0][a]==1 )
{
a=0;
x[0][a]=-1;
lcontinue=0;
}
else
{
x[0][a]= 1;
}
}
if(lcontinue)
{
for(int a=1;a<=m;a++)
if(x[a][0]==1)
{
a=m+1;
x[a][0]=-1;
lcontinue=0;
cout<<"a";
}
else
{
x[a][0]=1;
}
stop=lcontinue;
}
}
int main()
{
f>>m>>n;
init();
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
f>>x[i][j];
}
}
while(!stop)
{
show();
int sact = getsum();
if (sact>smax)
smax=sact;
nextp();
}
cout<<smax;
}