Guest User

Untitled

a guest
Jul 23rd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include <iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. using namespace std;
  5. int n,m,ar[9],vred[10],minn=-1,res[10];
  6. vector<int> prio[9];
  7. void calc()
  8. {
  9. int sum=0,i;
  10. for(i=0;i<n;i++) sum+=vred[ar[i]]*(i+1);
  11. if(minn==-1 || sum<minn) {
  12. minn=sum;
  13. for(i=0;i<n;i++) res[i]=ar[i];
  14. }
  15. }
  16. void check()
  17. {
  18. int i,k,j,l,b=0;
  19. for(i=0;i<n;i++)
  20. {
  21. if(prio[ar[i]].size()<=i){
  22. int cc=0;
  23. for(k=0;k<i;k++){
  24. for(j=0;j<prio[ar[i]].size();j++)
  25. {
  26.  
  27. if(prio[ar[i]][j]==ar[k]) cc++;
  28. }
  29. }
  30. if(cc>=prio[ar[i]].size()) b++;
  31. }
  32. }
  33. if(b==n) calc();
  34. }
  35. int main()
  36. {
  37. int i,j,r,rr;
  38. cin>>n;
  39. for(i=1;i<=n;i++) {cin>>vred[i]; ar[i-1]=i;}
  40. cin>>m;
  41. for(i=0;i<m;i++)
  42. {
  43. cin>>r>>rr;
  44. prio[r].push_back(rr);
  45. }
  46. check();
  47. while(next_permutation(ar,ar+n))
  48. {
  49. check();
  50. }
  51. cout<<res[0];
  52. for(i=1;i<n;i++) cout<<" "<<res[i];
  53. cout<<endl;
  54. return 0;
  55. }
Add Comment
Please, Sign In to add comment