Pabon_SEC

Dart-a-Mania

May 21st, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. set<int>store;
  6.  
  7. vector<int>score;
  8.  
  9. void make()
  10. {
  11.     int i;
  12.  
  13.     store.insert(0);
  14.  
  15.     for(i=1; i<=20; i++)
  16.     {
  17.         store.insert(i);
  18.  
  19.         store.insert(i*2);
  20.  
  21.         store.insert(i*3);
  22.     }
  23.  
  24.     store.insert(50);
  25.  
  26.     for(auto it : store)
  27.     {
  28.         score.push_back(it);
  29.     }
  30. }
  31.  
  32. int main()
  33. {
  34.  
  35.     make();
  36.  
  37.     int total,i,j,k,sum,per,len;
  38.  
  39.     while(scanf("%d",&total)==1)
  40.     {
  41.         if(total<=0)
  42.         {
  43.             printf("END OF OUTPUT\n");
  44.  
  45.             break;
  46.         }
  47.  
  48.         per = 0;
  49.  
  50.         set<set<int>>com;
  51.  
  52.         len = score.size();
  53.  
  54.         for(i=0; i<len && score[i]<=total; i++)
  55.         {
  56.             for(j=0; j<len && score[j]<=total-score[i]; j++)
  57.             {
  58.                 for(k=0; k<len && score[k]<=total-score[i]-score[j]; k++)
  59.                 {
  60.                     sum = score[i]+score[j]+score[k];
  61.  
  62.                     if(sum==total)
  63.                     {
  64.                         set<int>combination;
  65.  
  66.                         combination.insert(score[i]);
  67.  
  68.                         combination.insert(score[j]);
  69.  
  70.                         combination.insert(score[k]);
  71.  
  72.                         com.insert(combination);
  73.  
  74.                         per++;
  75.                     }
  76.                 }
  77.             }
  78.         }
  79.  
  80.         if(per>0)
  81.         {
  82.             printf("NUMBER OF COMBINATIONS THAT SCORES %d IS %d.\n",total,com.size());
  83.  
  84.             printf("NUMBER OF PERMUTATIONS THAT SCORES %d IS %d.\n",total,per);
  85.  
  86.         }
  87.         else
  88.         {
  89.             printf("THE SCORE OF %d CANNOT BE MADE WITH THREE DARTS.\n",total);
  90.         }
  91.  
  92.         printf("**********************************************************************\n");
  93.     }
  94.  
  95.     return 0;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment