Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("harti.in") ;
- ofstream fout("harti.out") ;
- int n , cnt = 0 , c , X[11] , A[11][11] ;
- const int track = 1 ;
- void Citire() ;
- void Afisare() ;
- void Back( int k ) ;
- bool Ok( int k ) ;
- int main()
- {
- Citire() ;
- //X[1] = 1 ;
- //Back(track+1) ;
- Back(track) ;
- return 0;
- }
- bool Ok( int k )
- {
- for( int i = 1 ; i < k ; i++ )
- if( X[i] == X[k] && A[k][i] == 1 ) return false ;
- return true ;
- }
- void Back( int k )
- {
- if( k == n + 1 )
- {
- Afisare() ;
- }
- else
- {
- for( int i = 1 ; i <= c ; i++ )
- {
- X[k] = i ;
- if( Ok(k) )
- Back(k+1) ;
- }
- }
- }
- void Citire()
- {
- int m , x , y ;
- fin >> n >> c >> m ;
- for( int i = 1 ; i <= m ; i++ )
- {
- fin >> x >> y ;
- A[x][y] = A[y][x] = 1 ;
- }
- }
- void Afisare()
- {
- for( int i = 1 ; i <= n ; i++ )
- fout << X[i] << " " ;
- fout << '\n' ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement