Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <map>
- #include <vector>
- using namespace std;
- struct Osoba
- {
- vector < string > v_Sasiedzi;
- int l_sasiadow;
- Osoba() : l_sasiadow( 0 ) {}
- };
- int main()
- {
- ios_base::sync_with_stdio(false);
- unsigned short t;
- unsigned int n, m;
- string nazwiskoTemp;
- string nazwiskoTemp2;
- bool odpowiedz = 0;
- cin >> t;
- for ( unsigned short i=0 ; i<t ; i++ )
- {
- map < string, Osoba > mapa;
- cin >> n >> m;
- for ( unsigned int j=0 ; j<n ; j++ )
- {
- cin >> nazwiskoTemp;
- mapa[nazwiskoTemp] = Osoba();
- }
- for ( unsigned int k=0 ; k<m ; k++ )
- {
- cin >> nazwiskoTemp >> nazwiskoTemp2;
- mapa[nazwiskoTemp].v_Sasiedzi.push_back( nazwiskoTemp2 );
- mapa[nazwiskoTemp2].l_sasiadow++;
- }
- for( unsigned int l=0 ; l<n ; l++ )
- {
- cin >> nazwiskoTemp;
- if ( odpowiedz == 1 )
- continue;
- if ( mapa[nazwiskoTemp].l_sasiadow-- == 0 )
- {
- for ( string x : mapa[nazwiskoTemp].v_Sasiedzi )
- {
- mapa[x].l_sasiadow--;
- }
- }
- else
- odpowiedz = 1;
- }
- if ( odpowiedz == 0 )
- cout << "TAK" << endl;
- else
- cout << "NIE" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement