380
Se consideră tabloul bidimensional cu m linii şi n coloane, care conţine doar valorile {0,1,2}.
Cerinţa
Să se determine numerele de ordine ale coloanelor pentru care produsul elementelor este maxim.
Date de intrare
Fişierul de intrare prodmax.in conţine pe prima linie numerele m şi n, iar pe următoarele m linii câte n numere naturale separate prin spaţii, reprezentând elementele tabloului.
Date de ieşire
Fişierul de ieşire prodmax.out va conţine pe prima linie numerele cerute, separate prin spatii, în ordine crescătoare.
Restricţii şi precizări
2≤m,n≤100- numere de ordine ale liniilor sunt între
1şim - numere de ordine ale coloanelor sunt între
1şin
Exemplu
prodmax.in
4 4 2 1 1 0 1 1 1 1 2 2 2 1 1 2 1 1
prodmax.out
1 2
#include <bits/stdc++.h>
using namespace std;
ifstream fin("prodmax.in");
ofstream fout("prodmax.out");
int main()
{
int n , m , a[100][100] , pmax = -1;
fin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j = 0 ; j < m; ++j)
fin >> a[i][j];
for(int j = 0 ; j < m ; ++j)
{
long long p = 1;
for(int i = 0 ; i < n; ++i)
{
p *= a[i][j];
}
if(p > pmax) pmax = p;
}
for(int j = 0 ; j < m ; ++j)
{
long long p = 1;
for(int i = 0 ; i < n; ++i)
{
p *= a[i][j];
}
if(pmax == p) fout << j + 1<<" ";
}
fin.close();
fout.close();
return 0;
}
Comentarii