Pabon_SEC

23 out of 5

May 2nd, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. bool flag;
  6.  
  7. int arr[7];
  8.  
  9. void solve(int index,int val)
  10. {
  11.     if(index==5 && val==23)
  12.     {
  13.         flag = true;
  14.         return;
  15.     }
  16.  
  17.     if(index>=5)
  18.         return;
  19.  
  20.     solve(index+1,val+arr[index]);
  21.  
  22.     solve(index+1,val-arr[index]);
  23.  
  24.     solve(index+1,val*arr[index]);
  25. }
  26.  
  27. int main()
  28. {
  29.     int i;
  30.  
  31.     while(scanf("%d",&arr[0])&&arr[0])
  32.     {
  33.         for(i=1;i<5;i++)
  34.         {
  35.             scanf("%d",&arr[i]);
  36.         }
  37.  
  38.         sort(arr,arr+5);
  39.  
  40.         flag = false;
  41.  
  42.         solve(1,arr[0]);
  43.  
  44.         while(!flag && next_permutation(arr,arr+5))
  45.         {
  46.             solve(1,arr[0]);
  47.         }
  48.  
  49.         if(flag)
  50.         {
  51.             printf("Possible\n");
  52.         }
  53.         else
  54.         {
  55.             printf("Impossible\n");
  56.         }
  57.     }
  58.  
  59.     return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment