Cerința
Gigel a primit de la bunicul său un trenuleț electric cu n
vagoane colorate în diverse culori, identificate prin numere întregi. Gigel consideră că trenul este frumos colorat dacă toate vagoanele colorate la fel sunt învecinate. Acum vă roagă să-i spuneți cu câte culori diferite au fost colorate vagoanele și dacă trenul este frumos colorat.
Date de intrare
Fișierul de intrare culori.in
conține pe prima linie numărul n
, iar pe a doua linie n
numere naturale nenule, reprezentând în ordine culorile vagoanelor din care este compus trenulețul.
Date de ieșire
Fișierul de ieșire culori.out
va conține pe prima linie numărul C
de culori diferite, iar pe a doua linie mesajul DA
sau NU
, după cum trenul este sau nu frumos colorat.
Restricții și precizări
1 ≤ n ≤ 1000
- culorile vagoanelor sunt identificate prin numere naturale mai mici decât
1.000.000.000
Exemplul 1:
culori.in
5 2 2 1 6 6
culori.out
3 DA
Exemplul 2:
culori.in
5 2 2 6 2 6
culori.out
2 NU
#include <bits/stdc++.h> using namespace std; ifstream cin("culori.in"); ofstream cout("culori.out"); int main() { int n , a[1001] ,v[1001] , l = 1 , cnt = 0 , ok = 0; cin >> n; for(int i = 0 ; i < n ; ++i) cin >> a[i] , v[i]=a[i]; sort(a , a+n); for(int i = 0 ; i < n ; ++i) { if(a[i]==a[i+1]) l++; else { int c = 0; for(int j = 0 ; j < n ; ++j) { if(v[j]==a[i]) c++; else if(c!=0) break; } if(c != l) ok = 1; cnt++; l = 1; } } cout << cnt << endl; if(ok == 0)cout << "DA"; else cout << "NU"; return 0; }