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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Culori:
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("culori.in");
ofstream fout("culori.out");
int n , v[1005], c[1005], nrc;
int main()
{
fin >> n ;
for(int i = 1 ;i <= n ; ++i)
fin >> v[i];
nrc = 1, c[1] = v[1];
bool frumos = true;
for(int i = 2 ; i <= n ; ++i)
if(v[i] != v[i-1])
{
int poz = 0;
for(int j = 1 ; j <= nrc && !poz ; j ++)
if(c[j] == v[i])
poz = j;
if(poz == 0)
c[++nrc] = v[i];
else
frumos = false;
}
fout << nrc << "
";
if(frumos)
fout << "DA";
else
fout << "NU";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #606 Culori
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #606 Culori de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!