416
Cerinţa
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine câte coloane ale matricei au elementele distincte două câte două.
Date de intrare
Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieşire
Programul afișează pe ecran numărul C, cu semnificația de mai sus.
Restricţii şi precizări
1 ≤ m,n ≤ 100- elementele matricei vor fi mai mici decât
1.000.000
Exemplu
Date de intrare
4 7 15 27 40 41 32 42 12 48 35 40 54 17 46 33 37 52 40 19 11 46 23 49 27 40 29 25 44 12
Date de ieșire
3
Explicații
Prima, a patra și a cincea coloană au toate elementele distincte două câte două.
#include <bits/stdc++.h>
using namespace std;
int n , a[101][101];
int sort(int col)
{
for(int i = 0 ; i < n ; ++i)
for(int j= i+1; j < n; ++j)
{
if(a[i][col] > a[j][col])
{
int aux = a[i][col];
a[i][col] = a[j][col];
a[j][col] = aux;
}
}
}
int main()
{
int m , cnt = 0 , cate=0;
cin >> n >> m;
for(int i = 0 ; i < n ; ++i)
for(int j= 0; j < m; ++j) cin >> a[i][j];
for(int j = 0 ; j < m ; ++j)
{
sort(j);
int ok = 1;
for(int i = 0; i < n; ++i)
{
if (a[i][j] == a[i-1][j]) ok = 0;
}
if(ok) cate++;
}
cout << cate;
return 0;
}
Comentarii