Detalii evaluare #63642254

Rezumat problemă

#4229

Bujorel s-a apucat de pomicultură şi a însămânţat un arbore (graf conex aciclic) cu N noduri, fiecare nod având o culoare dată dintr-un interval [1, K]. Acum, după ce arborele a crescut, el doreşte să ştie, pentru fiecare culoare, suma distanţelor dintre toate perechile de noduri ale arborelui ce au culoarea respectivă. Distanţa dintre două noduri se defineşte ca fiind numărul de muchii de pe drumul dintre cele două noduri. Deoarece Bujorel a folosit foarte mult îngrăşământ la plantarea arborelui, acesta a crescut foarte mult şi voi trebuie să scrieţi un program care calculează suma distanţelor dintre nodurile cu aceeaşi culoare.

Lot Resita 2012
Consola Pracsiu Dan (dnprx) Andrei Ciocan, Andrei Parvu concurs

Detalii

Problema kdist Operații I/O tastatură/ecran
Limita timp 1 secunde Limita memorie Total: 128 MB / Stivă 64 MB
Id soluție #63642254 Utilizator Girigan Andrei (AndreiGir)
Fișier kdist.cpp Dimensiune 1.16 KB
Data încărcării 12 Martie 2026, 12:25 Scor/rezultat Eroare de compilare

Evaluare

Mesaj compilare

kdist.cpp: In function 'void dfs(int, int)':
kdist.cpp:12:5: error: reference to 'count' is ambiguous
     count[u][color[u]] = 1;

     ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^
kdist.cpp:17:24: error: reference to 'count' is ambiguous
             suma[c] += count[v][c] * (total_c[c] - count[v][c]);

                        ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^
kdist.cpp:17:52: error: reference to 'count' is ambiguous
             suma[c] += count[v][c] * (total_c[c] - count[v][c]);

                                                    ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^
kdist.cpp:18:13: error: reference to 'count' is ambiguous
             count[u][c] += count[v][c];

             ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^
kdist.cpp:18:28: error: reference to 'count' is ambiguous
             count[u][c] += count[v][c];

                            ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^
kdist.cpp: In function 'int main()':
kdist.cpp:32:5: error: reference to 'count' is ambiguous
     count.assign(N, vector<long long>(K, 0));

     ^
kdist.cpp:9:27: note: candidates are: std::vector<std::vector<long long int> > count
 vector<vector<long long>> count;

                           ^
In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from kdist.cpp:1:
/usr/include/c++/4.8/bits/stl_algo.h:4622:5: note:                 template<class _IIter, class _Tp> typename std::iterator_traits<_Iterator>::difference_type std::count(_IIter, _IIter, const _Tp&)
     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
     ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema kdist face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!