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