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; }