Inny sposob rozwiazania zad. Las

0

Jest takie zadanie:
http://main.edu.pl/pl/archive/ilocamp/2011/las

Wywłaszcza nam je na 59/100pkt :P.

A zrobiliśmy to tak:

  • 1 rodzaj jest dodany
  • każdy kolejny jest sprawdzany czy się nie powtórzył z poprzednimi rodzajami(numerem) jeśli nie, dodaje rodzaj, jeśli tak to odpuszczam i nic nie zmieniam.
  • Oczywiście przy nowych rodzajach dodawane jest do sumy tzw. " kandydatów na najstarsze drzewo"

Jak można to obliczyć w inny sposób ?

0

zadanie sprowadza się do znalezienia ilości liczby różnych rodzajów drzew. grubości można pominąć:

#include <set>
#include <iostream>

using namespace std;

int main()
{
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  set<int> rs;
  while (n--)
  {
    int g, r;
    cin >> g >> r;
    rs.insert(r);
  }
  cout << rs.size() << "\n";
  return 0;
}

100/100

0

Na czym polega ten tzw. set i czy pojawia się w innych językach programowania ?

0

set to zestaw/zbiór jakiś danych, w tym przypadku liczb. Co ja się będę spuszczał:
http://www.cplusplus.com/reference/set/set/

Czy występuje w innych językach?
Zależy jakich. W C# i Javie nazywa się HashSet, w Pascalu CHYBA bez żadnych dodatkowych bibliotek nie ma.

Jak chcesz się bawić w konkursy itp. to poczytaj sobie o tych kolekcjach w C++:
set, map, list, vector, queue, deque, stack

oraz co znajduje się w bibliotece: algorithm

bez tego to się napracujesz bez sensu :)

0

A w Java wystarczyła by znajomość Kolekcji ?

0

chyba tak, nie znam Javy

1 użytkowników online, w tym zalogowanych: 0, gości: 1