#include <iostream>
#include <vector>

using namespace std;

// osnova za dalju upotrebu grafa
template <class tVrednost>
class Graf
{
private:
	class Cvor
	{
	public:
		Cvor( const tVrednost& v )
			: _Vrednost(v)
			{}
	
		tVrednost _Vrednost;
	};
	
	class Poteg
	{
	public:
		Poteg( unsigned o, unsigned d )
			: _od(o), 
			  _do(d)
			{}
	
		unsigned _od, _do;
	};
	
public:
	void DodajCvor( const tVrednost& v )
		{ _Cvorovi.push_back( Cvor(v) ); }
		
	void DodajPoteg( unsigned o, unsigned d )
		{ _Potezi.push_back( Poteg(o,d) ); }
		
	bool PostojiNeposredanPut( unsigned o, unsigned d )
		{
		for( unsigned i=0; _Potezi.size(); i++ )
			if( _Potezi[i]._od == o && _Potezi[i]._do == d )
				return true;
		}

private:
	vector<Cvor> 	_Cvorovi;
	vector<Poteg>	_Potezi;
};

main()
{
	Graf<int> g;
	g.DodajCvor( 1 );
	g.DodajCvor( 2 );
	g.DodajPoteg( 0, 1 );
	
}

