Mai intai trebuie sa te autentifici.
Cod sursa(job #1190257)
Utilizator | Data | 24 mai 2014 20:32:04 | |
---|---|---|---|
Problema | Jocul Flip | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.9 kb |
#include <fstream>
using namespace std;
void Citire (int a[16][16],unsigned &n,unsigned &m)
{
ifstream fin("Flip.in");
fin>>n>>m;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
fin>>a[i][j];
fin.close();
}
void Suma_initiala_linii (int a[16][16],unsigned n,unsigned m)//se calculeaza suma initiala de pe fiecare linie a matricii
{
for (int i=0; i<n; i++)
{
int s=0;
for (int j=0; j<m; j++)
{
s+=a[i][j];
a[i][-1]=s;//bordare
}
}
}
void Suma_initiala_coloane (int a[16][16],unsigned n,unsigned m)//se calculeaza suma initiala de pe fiecare coloana a matricii
{
for (int j=0;j<m;j++)
{
int s=0;
for (int i=0;i<n;i++)
{
s+=a[i][j];
a[-1][j]=s;
}
}
}
void Comutare (int a[16][16],unsigned n,unsigned m)//se comuta convenabil elementele matricii
{
int i,j,k;
for (i=0; i<n; i++)
{
if (a[i][-1]<0)
{
//a[i][0]*=-1;
for (j=0; j<m; j++)
a[i][j]*=-1;
}
for (j=0; j<m; j++)
if (a[-1][j]<0)
{
//a[0][j]*=-1;
for (k=0; k<n; k++)
a[i][j]*=-1;
}
}
}//DE CE AFECTA DACA FACEAM a[0][j]*=-1?
int Suma_finala (int a[16][16],unsigned n,unsigned m)
{
int i,j,s=0;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
s+=a[i][j];
return s;
}
void Afisare (int a[16][16],unsigned n,unsigned m)
{
unsigned i,j;
ofstream fout("Flip.out");
fout<<Suma_finala(a,n,m);
fout.close ();
}
int main ()
{
int a[16][16];
unsigned n,m;
Citire(a,n,m);
Suma_initiala_linii(a,n,m);
Suma_initiala_coloane (a,n,m);
Comutare(a,n,m);
Suma_finala(a,n,m);
Afisare(a,n,m);
return 0;
}