Pagini recente » Cod sursa (job #2108611) | Cod sursa (job #429140) | Cod sursa (job #2911942) | Cod sursa (job #1996365) | Cod sursa (job #444120)
Cod sursa(job #444120)
#include<fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
ofstream g("auxfile.out");
ifstream f("auxfile.out");
ifstream in("auxx.txt");
ofstream out("auxx.txt");
int nr, n, v[15], i, m, j, d;
long long k, sum, sumaux;
int a[17][17];
void generate_subs()
{ for(i=1;i<=n+m;i++) v[i]=i;
for(int p=2; p <= ( 1<<(n+m) ); p++) { k++;
j=k;
for(i=1;i<=n;i++) { if(j&1)g<<v[i]<<' ';
j>>=1;
}
g<<'\n';
}
}
void sum_it()
{ for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
sumaux+=a[i][j];
}
void read()
{
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fin>>a[i][j];
}
void comute_line(int i)
{
for(j=1;j<=m;j++) a[i][j]=a[i][j]-a[i][j]-a[i][j];
}
void comute_column(int j)
{
for(i=1;i<=n;i++) a[i][j]=a[i][j]-a[i][j]-a[i][j];
}
void closef()
{
fin.close();
fout.close();
}
void solve()
{ char p[100];
generate_subs();
read();
sum = 0;
sumaux = 0;
nr = 0;
sum_it();
sum=sumaux;
while( !f.eof() )
{
f.getline(p, 100);
for(i=0; i<strlen(p); i++) if( p[i] == ' ' )nr++;
nr++;
out<<p;
for(i=1;i<=nr;i++)
{
in>>d;
if(d>n) comute_column(d-n);
else comute_line(d);
}
sum_it();
if( sum < sumaux ) sum = sumaux;
}
fout<<sum;
closef();
}
int main()
{
solve();
return 0;
}