Advertisement
a53

forta1

a53
Feb 9th, 2021
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("forta.in");
  5. ofstream fout("forta.out");
  6. struct Forta
  7. {
  8. unsigned long long val;
  9. int fr, poz;
  10. };
  11. Forta v[1001];
  12. int n, sm;
  13. int Contor(unsigned long long nr1, unsigned long long nr2)
  14. {
  15. int fr1[10], fr2[10], cnt=0;
  16. for(int i=0; i<10; ++i)
  17. fr1[i]=0, fr2[i]=0;
  18. do
  19. {
  20. fr1[nr1%10]++;
  21. nr1/=10;
  22.  
  23. }while(nr1);
  24. do
  25. {
  26. fr2[nr2%10]++;
  27. nr2/=10;
  28.  
  29. }while(nr2);
  30. for(int i=0; i<10; ++i)
  31. if(fr1[i] && fr2[i])
  32. cnt+=min(fr1[i], fr2[i]);
  33. return cnt;
  34. }
  35.  
  36. int main()
  37. {
  38. unsigned long long x;
  39. fin>>n;
  40. for(int i=1; i<=n; ++i)
  41. {
  42. fin>>x;
  43. v[i].val=x;
  44. v[i].poz=i;
  45. }
  46. for(int i=1; i<n; ++i)
  47. {
  48. for(int j=i+1; j<=n; ++j)
  49. {
  50. sm=Contor(v[i].val,v[j].val);
  51. v[i].fr+=sm;
  52. v[j].fr+=sm;
  53. }
  54.  
  55. }
  56. for(int i=1; i<n; i++)
  57. for(int j=i+1; j<=n; ++j)
  58. if(v[i].fr > v[j].fr)
  59. swap(v[i],v[j]);
  60. else if(v[i].fr==v[j].fr)
  61. if(v[i].poz < v[j]. poz)
  62. swap(v[i],v[j]);
  63. for(int i=1; i<=n; i++)
  64. fout<<v[i].val<<" ";
  65. return 0;
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement