Mai intai trebuie sa te autentifici.
Cod sursa(job #1357098)
| Utilizator | Data | 23 februarie 2015 19:27:33 | |
|---|---|---|---|
| Problema | Jocul Flip | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[20][20],n,m;
void citire()
{ifstream f("flip.in");
f>>n;f>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
f>>a[i][j];
f.close();
}
void afis()
{for(int i=1;i<=n;i++)
{for(int j=1;j<=m;j++)
cout<<a[i][j];
cout<<endl;}
}
short check_line(int i)
{int ok=0;
for(int j=1;j<=m;j++)
ok=ok+a[i][j];
if(ok<0)
return 1;
return 0;}
short check_col(int j)
{int ok=0;
for(int i=1;i<=n;i++)
ok=ok+a[i][j];
if(ok<0)
return 1;
return 0;}
int check_flip()
{for(int i=1;i<=n;i++)
{if(check_line(i))
{for(int j=1;j<=m;j++)
a[i][j]=-1*a[i][j];
return 1;
}}
for(int j=1;j<=m;j++)
{if(check_col(j))
{for(int i=1;i<=n;i++)
a[i][j]=-1*a[i][j];
return 1;
}}
return 0;
}
void data_out()
{ofstream g("flip.out");
int suma=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
suma=suma+a[i][j];
g<<suma;
g.close();
}
int main()
{citire();
//afis();
while(true)
{if(!check_flip())
break;}
data_out();
return 0;
}
