Advertisement
madalinaradu

ASD Pb 4

May 26th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. /** p4.1 */
  2. #include<fstream>
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include<iostream>
  6. using namespace std;
  7.  
  8. ifstream is("Pb4.in");
  9. ofstream os("Pb4.os");
  10.  
  11. int x[20], y[20]={0,1,8,3,2,5,4}, sol[20], n=6,pmax=0;
  12.  
  13. void afisare(){
  14.     for(int i=1; i<=n; i++){
  15.         os<<sol[i]<<"   ";
  16.     }
  17.     os<<endl;
  18. }
  19. int permutareValida(int k){
  20.     for(int i=1; i<k; i++){
  21.         if(x[i]==x[k]){
  22.             return 0;
  23.         }
  24.     }
  25.     return 1;
  26. }
  27.  
  28. int verificaSolutie(){
  29.     int p=y[x[1]] * y[x[n]];
  30.     for(int i=1; i<n; i++){
  31.         p=p+y[x[i]] * y[x[i+1]];
  32.     }
  33.     if(p>=pmax){
  34.         pmax=p;
  35.         for(int i=1; i<=n; i++){
  36.             sol[i]=y[x[i]];
  37.         }
  38.     }
  39. }
  40.  
  41. void bkt(int k){
  42.     for(int i=1; i<=n; i++){
  43.         x[k]=i;
  44.         if(permutareValida(k)){
  45.             if(k==n){
  46.                 verificaSolutie();
  47.                // afisare();
  48.             }else{
  49.                 bkt(k+1);
  50.             }
  51.         }
  52.     }
  53. }
  54.  
  55. int main(){
  56.     bkt(1);
  57.     afisare();
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement