Treść zadania:
Kamil jest ulicznym śpiewakiem, który podróżuje po Bajtocji.
Właśnie planuje swoją trasę konertową po miastach Bajtocji.
Jako transport służą mu autobusy.
W Bajtocji jeden autobus kursuje tylko w jedną stronę od pewnego
miasta A do miasta B. Kamil zastanawia się, czy jest w stanie zaplanować
trasę koncertową, że będzie mógł powrócić do miasta, w którym ją rozpoczął.
- Mam kod.
- Ja troszkę źle przeczytałam, i szukałam jako początkowego "1"... No i tak wyszedł ten kod, co napisałam. Pytanie tylko, czemu pokazuje mi błąd przy setach, i deklaracji... Czy możliwe są sety tablicach? A po drugie, czy jest dobre, choć wydaje mi się, że tak.
A oto kod:
#include <iostream>
#include <set>
using namespace std;
bool funkcja(set<int> tab[], int x, int y)
{
set<int>::iterator i;
for (i=tab[i].begin(); i!=tab[i].end(); ++i)
{
if (*i==1)
return true;
else
funkcja(tab, x, *i);
}
return false;
}
int main()
{
int x, n, m, a, b;
cin>>x;
set<int> tab[x];
for (int i=0; i<x; i++)
{
cin>>n>>m;
for (int i=0; i<m; i++)
{
cin>>a>>b;
tab[a].insert(b);
}
}
if (funkcja(tab, 1, 0)==true)
cout<<"TAK"<<endl;
else
cout<<"NIE"<<endl;
return 0;
}