Pagini recente » Cod sursa (job #1524026) | Borderou de evaluare (job #1292308) | Cod sursa (job #2413125)
#include <fstream>
/* 1 <= N, M <= 16 (thus we'll declare a matrix with 16 rows and 16 columns,
* since those are the maximum values the variables N and M can take;
* -pow(10, 6) <= 'any number on the table' <= pow(10, 6).
*/
long long table[16][16], N, M, s = 0;
int main()
{
std::ifstream fisierIN("flip.in");
fisierIN >> N >> M;
// Reading the values + ROWS.
for (unsigned short i = 0; i < N; ++i)
{
for (unsigned short j = 0; j < M; ++j)
{
fisierIN >> table[i][j];
s += table[i][j];
}
if (s < 0)
{
for (unsigned short j = 0; j < M; ++j)
table[i][j] = -table[i][j];
}
s = 0;
}
fisierIN.close();
// COLUMNS.
for (unsigned short j = 0; j < M; ++j)
{
for (unsigned short i = 0; i < N; ++i)
s += table[i][j];
if (s < 0)
{
for (unsigned short i = 0; i < N; ++i)
table[i][j] = -table[i][j];
}
s = 0;
}
// Adding up all the elements.
for (unsigned short i = 0; i < N; ++i)
{
for (unsigned short j = 0; j < M; ++j)
s += table[i][j];
}
std::ofstream fisierOUT("flip.out");
fisierOUT << s/* << "\n"*/;
/*for (unsigned short i = 0; i < N; ++i)
{
for (unsigned short j = 0; j < M; ++j)
fisierOUT << table[i][j] << " ";
fisierOUT << "\n";
}*/
fisierOUT.close();
return 0;
}